아래 순서대로 윈도우 서버 IIS에 파이썬 웹프레임워크인 Flask를 세팅할 수 있습니다.
1. 파이썬 설치
- 먼저, 파이썬 3.8.0 버전을 파이썬 공식 웹사이트(https://www.python.org/downloads)에서 다운로드 하고 설치합니다.
- 설치 중 "Add Python 3.8 to PATH" 옵션을 선택하여 환경 변수를 설정합니다.
* 필자는 3.9.x버전을 설치했다가 wsgi 관련 에러가 지속 발생하였음. wfastcgi이 지원하는 파이썬 버전이 있다고 하니 반드시 파이썬 버전 확인 해야함.
2. Flask 애플리케이션 생성
- 원하는 디렉토리에 새 폴더를 생성하여 Flask 애플리케이션을 만듭니다.
- 명령 프롬프트에서 해당 폴더로 이동한 뒤, 아래 명령어라 Flask를 설치합니다.
pip install flask
- app.py와 같은 진입점 파일을 생성하고 간단한 예제 코드를 작성합니다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return "Hello, Flask on IIS!"
if __name__ == "__name__":
app.run()
3. WSGI 서버 설치
- 파이썬 패키지 관리자인 pip를 이용하여 wfastcgi를 설치합니다.
pip install wfastcgi
- wfastcgi.py 파일을 애플리케이션 폴더에 복사합니다.
4. IIS 웹 사이트 생성
- Windows 제어판의 '관리 도구'에서 '인터넷 정보 서비스(IIS) 관리자'를 실행합니다.
- 좌측 탐색창에서 '사이트'를 우클릭하고 '새 사이트'를 선택합니다.
- 사이트 이름과 실제 경로를 지정합니다.
- 사이트 이름은 원하는 걸로 지정하시면 되고 '실제 경로'는 app.py가 존재하는 경로를 찾아서 넣어주면 됩니다.
- 바인딩은 'http', '지정하지 않은 모든 IP'를 선택하고 포트는 flask의 기본포트인 '5000'으로 지정해줍니다.
(매핑할 도메인이 있다면 '호스트 이름'에 넣어주시면 됩니다.)
5. FastCGI 설정
- '애플리케이션 풀'을 우클릭하고 '새 애플리케이션 풀'을 선택합니다.
- 새로운 애플리케이션 풀 이름을 설정한 뒤 .NET CLR버전을 'No Managed Code'로 설정합니다.
- 생성한 사이트를 우클릭하고 '매핑된 핸들러'를 선택합니다.
- '매핑 추가'를 클릭하고 '수행할 업무'를 'FastCgiModule'로 선택합니다.
- '무인 스크립트 핸들러를 사용' 옵션을 체크하고, '요청 경로'와 '실행 파일'에는 wfastcgi.py의 경로를 입력합니다.
6. 환경 변수 설정
- 생성한 사이틀르 우클릭하고 '고급 설정'을 선택합니다.
- '환경 변수' 섹션에서 '추가'를 클릭하고 환경 변수를 설정합니다.
- '이름'에는 'WSGI_HANDLER'를 입력하고, '값'에는 'app.app'과 같이 애플리케이션 진입점을 입력합니다.
7 . 웹 사이트 테스트
- IIS에서 생성한 웹 사이트를 우클릭하고 '관리' > '사이트 운영' > '시작' 을 선택하여 웹 사이트를 실행합니다. (굳이 실행하지 않더라도 자동으로 실행이 되고 있을 겁니다. 그래도 사이트가 실행 상태인지 확인해줍니다.)
- 웹 브라우저에서 'http://localhost:5000' 을 입력하여 Flask 애플리케이션이 동작하는지 확인해봅니다.
댓글 영역