웹 애플리케이션 구현

목적

웹서버로 들어온 정보를 파이썬이 동작해서 html을 프로그래밍적으로 생성해서 웹서버를 통해서 응답하는 애플리케이션을 구현하기

필요한 재료

  1. 웹서버 - 아파치
  2. 파이썬

설치 및 연동

윈도우즈에서 웹서버 설치

  1. 아파치 웹서버가 필요하기 때문에 아파치 웹 서버를 설치 하기 위해 bitnami wamp 를 설치한다. 설치하고 http://127.0.0.1:81/ 여기서 확인
  2. C:\Bitnami\wampstack-7.1.26-0\apache2\htdocs 웹브라우저를 통해서 사용자가 서버에 접속했을 때 웹서버가 사용자가 요청한 파일을 찾는 최상위 디렉토리. 다큐먼트 root 문서의 최상위 디렉토리라고도 부른다.

윈도우즈에서 python 설치

  1. python.org 에서 download하고 설치
  2. Add Python 3.x to PATH 꼭 체크
  3. custumizing install -> advanced options -> install for all users 체크

윈도우즈에서 python 실행

  1. 윈도우키+R, cmd 입력
  2. python 이라고 입력하면 버전이 나오고 명령어를 입력할 수 있는 >>> 가 나온다.
  3. exit() 를 입력하면 빠져나간다.

python 파일을 실행시키기

  1. C:\Bitnami\wampstack-7.1.26-0\apache2\htdocshello.py 라고 파일을 만들고 아래 코드 입력한다.
a=3+4+5
b=a/3
print(b)
  1. cmd 화면에서 C:\Bitnami\wampstack-7.1.26-0\apache2\htdocs 디렉토리로 이동 후 python hello.py 라고 입력한다. 그냥 hello.py 라고 입력해도 실행된다.

웹애플리케이션과 python 연동

웹에서 python을 요청했을때 python 코드가 출력되는 것이 아니라 python이 실행되서 실행된 결과를 출력하게 하는 방법

  1. 에디터에서 apache2\conf\httpd.conf파일을 연다. httpd.conf는 백업을 받아놓는다.
  2. LoadModule cgi_module modules/mod_cgi.so 앞에 # 이 안붙은 것을 확인한다. <Directory "C:/Bitnami/wampstack-7.1.26-0/apache2/htdocs">...</Directory> 안에
<Files "*.py">
        Options ExecCGI
        AddHandler cgi-script .py
    </Files>

넣는다.
3. Bitnami를 Stop 시켰다가 Restart 한다.
4. http://127.0.0.1:81/hello.py 를 확인하면 error 가 나온다.
5. apache2\logs\error.log 의 내용을 지운다. 다시 http://127.0.0.1:81/hello.py 접속한다. 그리고 error.log 내용을 확인한다.
6. hello.py 맨 윗줄에 #!python 을 입력한다. 다시 에러 발생한다. ㅠ
7. hello.pyprint("content-type: text/html; charset=utf-8\n") 적어준다.
8. http://127.0.0.1:81/hello.py reload 한다.

https://www.inflearn.com/course/web2-python/