Django IIS 세팅을 하기 위해서는 [프로그램 및 기능]에서 [Windows 기능 켜기/끄기] 에 접속.
그 후 내용 중에 [CGI]에 체크를 해서 켜준다.
보통 IIS만 사용할 때는 해당 기능을 켜지 않는다.
웹 요청을 장고로 넘기기 위해 사용
pip install wfastcgi
일단 IIS 실행 시킨 다음에 [FastCGI 설정]에 들어간다
전체 경로 : D:\Develop\A_Luna\vLuna\Scripts\python.exe
인수 : D:\Develop\A_Luna\vLuna\Lib\site-packages\wfastcgi.py
1. 환경변수 Name: DJANGO_SETTINGS_MODULE #대문자
1. 환경변수 Value: back.settings #mysite.setting
2. 환경변수 Name: PYTHONPATH
2. 환경변수 Value: D:\Develop\A_Luna
3. 환경변수 Name: WSGI_HANDLER
3. 환경변수 Value: django.core.wsgi.get_wsgi_application()
총 3개 환경 변수 추가하면 된다. 보통 에러가 나는 경우 이 값들이 제대로 들어가지 않았을 경우 많이 발생 했다.
환경 변수 Name은 전부 대문자로 기재하고 환경변수 Value 는 내 프로젝트에 맞게 기재해야 한다.
요청 경로 : *
모듈: FastCgiModule
실행 파일: D:\Develop\A_Luna\vLuna\Scripts\python.exe|D:\Develop\A_Luna\vLuna\Lib\site-packages\wfastcgi.py
이름: Django_Handler
요청 제한 – 체크 빼고
확인(저장) : 아니요로 저장
위 값 적을 때 실행 파일의 경우 ” | ” 로 구분된 2개의 값을 적어야 하기에 메모장 같은데 적은 후에 복사해서 넣는 게 더 편했다.
제대로 세팅이 끝나면 CMD에서 서버 열지 않아도 브라우저에서 주소 실행하면 장고 화면이 뜬다.
일단 IIS 기본만 세팅하면
CSS 나 JS 파일들이 적용 안 된 모습이다. 이유는 static 안에 들어 있는 파일들 인식을 못 하는 것. 추가로 연결해 주어야 한다.
원래는 settings.py에다가 정적 파일이 모아질 경로를 지정하고
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
명령어로 지정 경로로 파일을 모으는 작업을 하는 경우도 있지만~
python manage.py collectstatic
이번 내가 구현한 폴더 설계는 static 폴더 안에 이미 css와 js 그리고 img 또 기타 엑셀을 추출하기 위한 파일들을 이미 file 폴더 안에 다 넣어 놓은 결과 staticfiles를 따로 쓰지 않고 바로 static 폴더를 연결해서 사용하려 한다.
만들어진 IIS의 지정한 사이트에서 우클릭한 후 [가상 데릭터리 추가] 를 눌러준다.
그러면 뜬 팝업에 별칭과 실제 경로를 지정해 주는데, 이번 내 경우엔 static 경로로 지정해준다.
그러면 좌측 폴더 리스트에 보면 static에 묘한 아이콘이 생긴 것을 본 후 우측 [처리기 매핑]을 눌러준다.
그리고 바로 가장 우측에 [정렬된 목록 보기]를 눌러준다.
그러면 가운데 리스트 가장 아래에 내가 방금 만든 StaticFile이 보이는데 그걸 가장 위로 올려준다.
그러면~
적용되지 않았던 static 폴더 안에 있는 파일들이 적용되서 나타난다.
Django : https://www.djangoproject.com/
IIS에서 URL을 통해서 기본 HTML을 열기 위한 기본 세팅
IIS에서 CGI를 안 쓸 거면 저 옵션은 안 켜도 됨
보통은 부분적으로 해당 옵션이 켜져 있던데, 가끔 보안실 등 꺼져 있을 때 대비용~