웹 애플리케이션 구현
목적
웹서버로 들어온 정보를 파이썬이 동작해서 html을 프로그래밍적으로 생성해서 웹서버를 통해서 응답하는 애플리케이션을 구현하기
필요한 재료
- 웹서버 - 아파치
- 파이썬
설치 및 연동
- Linux & Codeanywhere
- Windows
- MacOS
윈도우즈에서 웹서버 설치
- 아파치 웹서버가 필요하기 때문에 아파치 웹 서버를 설치 하기 위해
bitnami wamp 를 설치한다.
설치하고
http://127.0.0.1:81/
여기서 확인 C:\Bitnami\wampstack-7.1.26-0\apache2\htdocs
웹브라우저를 통해서 사용자가 서버에 접속했을 때 웹서버가 사용자가 요청한 파일을 찾는 최상위 디렉토리. 다큐먼트 root 문서의 최상위 디렉토리라고도 부른다.
윈도우즈에서 python 설치
- python.org 에서 download하고 설치
- Add Python 3.x to PATH 꼭 체크
- custumizing install -> advanced options -> install for all users 체크
윈도우즈에서 python 실행
- 윈도우키+R,
cmd
입력 python
이라고 입력하면 버전이 나오고 명령어를 입력할 수 있는 >>> 가 나온다.exit()
를 입력하면 빠져나간다.
python 파일을 실행시키기
C:\Bitnami\wampstack-7.1.26-0\apache2\htdocs
에hello.py
라고 파일을 만들고 아래 코드 입력한다.
a=3+4+5
b=a/3
print(b)
cmd
화면에서C:\Bitnami\wampstack-7.1.26-0\apache2\htdocs
디렉토리로 이동 후python hello.py
라고 입력한다. 그냥hello.py
라고 입력해도 실행된다.
웹애플리케이션과 python 연동
웹에서 python을 요청했을때 python 코드가 출력되는 것이 아니라 python이 실행되서 실행된 결과를 출력하게 하는 방법
- 에디터에서
apache2\conf\httpd.conf
파일을 연다. httpd.conf는 백업을 받아놓는다. 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.py
에 print("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/