파이썬으로 만든 가상 웹 서버 프로그램

파이썬으로 가상 웹 서버 프로그램을 만들어 보았습니다.

주의: 이 프로그램을 실제 운영할 웹 페이지의 서비스 용도로 사용하는 것은 권장되지 않습니다. 따라서 프론트엔드 웹 디자인을 실험하기 위한 용도 등으로만 사용하시는 것을 권장합니다.

파이썬으로 간단한 웹 서버 구성해 보기 포스트에서 가상 웹 서버 구현에 관한 내용을 포스팅한 바 있는데, 해당 포스트에서는 좀 긴 명령어를 입력해야 한다는 단점이 있습니다. 여기서는 시작 명령어를 단순화한 프로그램으로 작성하였습니다.

코드는 다음과 같습니다.

#!/usr/bin/python3
import http.server
import socketserver
import os

if __name__ == "__main__":
    PORT = 8000

    web_dir = os.path.join(os.path.dirname(__file__), 'web')
    os.chdir(web_dir)

    Handler = http.server.SimpleHTTPRequestHandler

    with socketserver.TCPServer(("", PORT), Handler) as httpd:
        print("Serving at port", PORT)
        print("Press Ctrl-C to exit.")
        try:
            httpd.serve_forever()
        except KeyboardInterrupt:
            print("Bye! :)")
            httpd.socket.close()

이 코드를 적당한 디렉터리에 저장한 후 해당 디렉터리에 웹 페이지를 저장할 하위 디렉터리(여기서는 ‘web’)를 생성합니다.

[http-py]$ python simple_http.py

콘솔에 위와 같이 입력해서(리눅스의 경우 python3) 이 프로그램을 실행시킨 후 웹 브라우저로 들어가서 주소창에 http://127.0.0.1:8000이라고 입력하면 (단, 포트번호를 다르게 했을 경우 8000 대신 해당 번호를 입력) web 디렉터리 안에 있는 index.html 파일의 내용이 표출됩니다. 단, index.html 파일이 없는 경우는 해당 디렉터리에 있는 파일 목록이 표출됩니다.

파일은 https://pjw48.net/files/simple_http_py.zip 이 링크 안에 있습니다. 이 파일을 다운로드하여 적당한 경로에 위치시킨 후 압축을 해제하시면 됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다.