Linux Apache-Python 연동

so2·2021년 4월 30일
0
post-custom-banner

CGI를 이용

Apache의 환경설정을 수정해 파이썬 확장자로 요청이 전달된 경우에 파이썬에서 처리하도록 한다.

개발환경 : Apache 2.4.6 / Python 3.6.8

1. /etc/httpd/conf/httpd.conf 파일 수정

아파치가 CGI를 이용해 요청을 처리할 수 있도록
Document root(웹서버가 요청한 파일을 찾는 최상위 디렉토리)에
하단 구문을 추가한다.

<Files "*.py">
   Options ExecCGI
   AddHandler cgi-script .py
</Files>
  • Options +ExecCGI : 아파치가 요청을 CGI를 이용해 처리할 수 있도록 설정
  • AddHandler cgi-script .py : 웹페이지 요청 중 .py 확장자를 가지는 요청은 CGI를 이용해 처리

  1. 아파치를 재실행한다
$ sudo service httpd restart
  1. Document root에 test.py파일을 추가한다.
    최상단은 python이 설치되어 있는 경로
#!/usr/bin/python3.6
# -*- coding: UTF-8 -*-

import cgi
import cgitb

def main():
	print("Content-type:text/html;charset=UTF-8;\n")
	print('')

	html = """
	<!DOCTYPE html>
	<html>
		<head>
			<title>test</title>
		</head>
		<body>
			<h1>test</h1>
		</body>
	</html>
	""";

	print(html)
    	
if __name__ == "__main__":
    main()
  1. localhost/test.py가 정상동작하면 성공 !

    에러가 났다면 /var/log/httpd/error_log를 확인해본다.
    $ tail -f error_log

post-custom-banner

0개의 댓글