본문 바로가기

Programming/Python_Web

Django - IIS 연동 (Windows Server2012)

반응형

 

Windows server 2012 IIS환경에서 Django를 연동하는게 쉽지가 않아서 한번 정리해 놓습니다. Django로 직접 서버를 돌릴 수도 있으나, 보안 및 성능상의 문제로 인해 권하지 않는 방법이라고 합니다. 그래서 apache나 nginx등 웹서버와 연동해서 많이 사용하는데요... 저희 회사 환경이 Windows 서버라 IIS 와의 연동이 필요한 상황입니다.

 

1. pip install wfastcgi

Django와 연동을 위해 wfastcgi를 설치합니다.

 

2. IIS FastCGI 설정

IIS에서 Django에 CGI요청을 전달하기 위해 설정을 해야합니다

 

1) FastCGI 설정

 서버 관리자를 실행시키고, 왼쪽 탐색창에서 서버가 선택된 상태로 FastCGI설정을 클릭합니다.

 

2) 응용프로그램 추가

 우측 작업에서 응용프로그램 추가를 클릭합니다. 이는 FastCGI 응용프로그램을 추가합니다. IIS - FastCGI - Django 가 연결될 수 있게 중간다리 역할을 하는 프로그램 설정이라고 생각하면 됩니다.

 

환경 변수에 3가지 값을 입력한다.

1. Name: DJANGO_SETTINGS_MODULE, Value: ex1.settings (앱 이름.settings)

2. Name: PYTHONPATH,                     Value: D:\django_ex\ex1 (앱 까지의 경로)

3. Name: WSGI_HANDLER,                  Valeu: django.core.wsgi.get_wsgi_application() (고정 값)

 

 

설정 추가된 모습

 

3. 웹페이지 생성

 왼쪽 탐색창의 저장소가 선택되 상태에서 우측 작업 아래에 웹페이지 생성을 클릭합니다. 사이트 이름을 입력하고, 실제 경로로 장고 앱의 위치를 입력합니다. 포트는 장고 기본 설정인 8000으로 했습니다.

 

4. IIS 핸들러 설정 (처리기 매핑)

IIS가 FastCGI를 찾아갈 수 있도록 처리기 매핑을 해야합니다.

 

1) 처리기 매핑 선택

 

2) 화면 우측 작업의 ㅎ위메뉴 모듈 매핑 추가 클릭

 

 

요청경로: *

모듈: FastCgiModule

실행파일(옵션): D:\99_wij_test\django_ex\venv\Scripts\python.exe|D:\99_wij_test\django_ex\venv\Lib\site-packages\wfastcgi.py

이름: Django_Handler

 

요청제한: 매핑 - "요청이 다음에 매핑되는 경우에만 처리기 호출" 을 언체크 합니다.

 

 

응용프로그램 만드는 것은 "아니오" 선택.

 

5. 포트 오픈

이렇게까지 했으면 8000번 포트에서 서비스를 하게 됩니다. localhost:8000 입력시 django 시작 화면이 보일 것입니다. 그러나 외부로 해당 포트를 open하지 않았으면 외부에서 접근이 불가능합니다. 특정 포트 오픈하는 방법에 대해서는 이전 포스트를 참고하시기 바랍니다.

 

포트까지 오픈이 되었다면, 외부에서도 접근이 가능해집니다.

끝~

반응형