WEB2 - Python

설치 및 연동 - Linux & Codeanywhere

수업소개

이 수업에서는 온라인을 통해서 실습을 진행할 수 있는 codeanywhere.com 의 사용법과 Python, Apache를 연동해서 Python 웹애플리케이션을 구동하는 방법을 살펴봅니다. 

 

웹서버 준비

 

 

Python 설치와 실행방법

 

 

Apache와 Python을 CGI로 연동하는 방법

nano 에디터로 Apache 웹서버가 동작하는 방법을 변경하기 위해서 설정 파일을 편집합니다. 

sudo nano /etc/apache2/sites-enabled/000-default.conf

 

Document root(웹서버가 요청한 파일을 찾는 최상위 디렉토리)에 있는 파일 중 확장자가 py인 파일은 Python으로서 실행 되도록 합니다. 추가한 내용은 4~7행입니다. 

<VirtualHost *:80 *:3000>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/cabox/workspace
        <Directory /home/cabox/workspace>
                AddHandler cgi-script .py
                Options ExecCGI
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

 

cgi가 동작하도록 cgi 기능을 켭니다. 

sudo a2enmod cgi

 

웹서버를 재시작합니다. 

sudo service apache2 restart

 

python script를 작성합니다. 

helloworld.py

#!/usr/bin/python3
print("content-type:text/html; charset=UTF-8\n")
print(1+1)

 

python 파일이 웹서버에 의해서 실행되도록 실행권한을 허용합니다. 

sudo chmod a+x helloworld.py

 

접속합니다. 

필자의 경우는 아래 주소였습니다. 자신의 주소에 접속하시면 됩니다. 

http://web2-python-egoing690448.codeanyapp.com/helloworld.py

 

오류가 발생하면 오류 메시지를 확인해봅니다. 

sudo tail -f /var/log/apache2/error.log

댓글

댓글 본문
작성자
비밀번호
  1. 송문숙
    감사합니다.
    도움이 많이 됩니다.
  2. Byoung Nam Soh
    nano설치 후, 강의를 쫒아하다가 sudo nano /etc/apache2/sites-enabled/000-default.conf를 하지 않고
    sudo nano에서 길을 잃어헤메 다가 다시 따라해서 성공... 감사합니다 :)
  3. 호눅스
    이번 강의 정말 꿀잼이었어요!
  4. terminal에서는 py가 실행가능한데 제 이메일로 지정된 URL로 py file 실행 시
    'this container is currently unaccessible.'이라는 메세지가 뜨네요
    컨테이너는 작동중 상태입니다. 로컬호스트인 127.0.0.1에서만 응답할 경우 외부 컨테이너에서는 이용가능하지
    않으며 0.0.0.0에서 응답 및 접속이 안되네요.
    로컬 호스트 변경 방법을 확인 결과 anywhere에 terminal에서
    "rails s -binding=0.0.0.0"을 실행하라고 하는데 명령어가 없다고 나와서 config로 진입해서 바꾸려고 하는데
    방법이 상세히 나와있지 않네요. 관련 사항은 아래와 같습니다.

    "Running on Localhost
    Some of our stacks will default the IP to the localhost: 127.0.0.1. You have to change the default IP so your Container could run externally. Please change IP address on your container from 127.0.0.1 to 0.0.0.0 so that you could be able to preview your Ruby box. You can do that inside Config - under commands - of your container (right click on your container and select Config).

    For example, on Ruby stack, you just have to use the following command in order to run your Rails container: "rails s --binding=0.0.0.0" This will override localhost (127.0.0.1) where your app can't work. And now, you'll be able to view your Ruby app on: preview.xxxxxx.box.codeanywhere.com:3000."
  5. PassionOfStudy
    " 시작이 반이다~! "

    2018-03-27 - 1일차_두번째 수강완료!

    codeanywhere 정말 편리하네요.

    codeanywhere는 클라우드컴퓨팅환경을 제공하는 건가요?
  6. 마샤
    엄청 길게 느껴졌지만 끝낸만큼 성취감이 더 크네요:)
  7. 조영만
    nano에서 막혀서 vi 로 했네요. nano가 생소해서..ㅎㅎ;
  8. Dongsik Shin
    귀에 쏙쏙 들어 오네요
  9. Rhys Jung
    리눅스를 사용해보지 않아 내용이 어렵네요
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기