me

[python/setting] 파이썬 – Django IIS 세팅
2023.11.20 / , , ,

Django IIS (인터넷 정보 서비스) 설치에 앞서 CGI 켜주기

Django IIS 세팅을 하기 위해서는 [프로그램 및 기능]에서 [Windows 기능 켜기/끄기] 에 접속.

그 후 내용 중에 [CGI]에 체크를 해서 켜준다.

보통 IIS만 사용할 때는 해당 기능을 켜지 않는다.

window 기능 켜기/끄기

Fast CGI 설치

웹 요청을 장고로 넘기기 위해 사용

pip install wfastcgi
Django IIS 세팅 - wfastcgi 설치해주기

IIS FastCGI 셋팅

일단 IIS 실행 시킨 다음에 [FastCGI 설정]에 들어간다

FastCGI 설정
Django IIS 세팅 - FastCGI 애플리케이션 등록

애플리케이션 추가 (주황색 부분)

전체 경로 : D:\Develop\A_Luna\vLuna\Scripts\python.exe

인수 : D:\Develop\A_Luna\vLuna\Lib\site-packages\wfastcgi.py

환경 변수 (컬렉션) 추가 부분 (녹색 부분)

1번 세트

1. 환경변수 Name: DJANGO_SETTINGS_MODULE #대문자

1. 환경변수 Value: back.settings #mysite.setting

2번 세트

2. 환경변수 Name: PYTHONPATH

2. 환경변수 Value: D:\Develop\A_Luna

3번 세트

3. 환경변수 Name: WSGI_HANDLER

3. 환경변수 Value: django.core.wsgi.get_wsgi_application()

총 3개 환경 변수 추가하면 된다. 보통 에러가 나는 경우 이 값들이 제대로 들어가지 않았을 경우 많이 발생 했다.

환경 변수 Name은 전부 대문자로 기재하고 환경변수 Value 는 내 프로젝트에 맞게 기재해야 한다.


Django IIS 용 웹 사이트 추가 + 처리기 매핑

처리기 매핑 모듈추가

Django IIS 위한 모듈 매핑 추가 입력 값

요청 경로 : *

모듈: FastCgiModule

실행 파일: D:\Develop\A_Luna\vLuna\Scripts\python.exe|D:\Develop\A_Luna\vLuna\Lib\site-packages\wfastcgi.py

이름: Django_Handler

요청 제한 – 체크 빼고

확인(저장) : 아니요로 저장

위 값 적을 때 실행 파일의 경우 ” | ” 로 구분된 2개의 값을 적어야 하기에 메모장 같은데 적은 후에 복사해서 넣는 게 더 편했다.

제대로 세팅이 끝나면 CMD에서 서버 열지 않아도 브라우저에서 주소 실행하면 장고 화면이 뜬다.


Static 가상 환경 추가

일단 IIS 기본만 세팅하면

Django 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 사이트에 가상 디렉터리 추가

Django IIS 세팅 처리기 매핑

만들어진 IIS의 지정한 사이트에서 우클릭한 후 [가상 데릭터리 추가] 를 눌러준다.

Django IIS 세팅 처리기 매핑2

그러면 뜬 팝업에 별칭과 실제 경로를 지정해 주는데, 이번 내 경우엔 static 경로로 지정해준다.

Django IIS 세팅 처리기 매핑3

그러면 좌측 폴더 리스트에 보면 static에 묘한 아이콘이 생긴 것을 본 후 우측 [처리기 매핑]을 눌러준다.

Django IIS 세팅 처리기 매핑4

그리고 바로 가장 우측에 [정렬된 목록 보기]를 눌러준다.

Django IIS 세팅 처리기 매핑5

그러면 가운데 리스트 가장 아래에 내가 방금 만든 StaticFile이 보이는데 그걸 가장 위로 올려준다.

그러면~

적용 완료

적용되지 않았던 static 폴더 안에 있는 파일들이 적용되서 나타난다.


Django : https://www.djangoproject.com/


추가 – 기본 HTML 사용을 위한 IIS 세팅

IIS에서 URL을 통해서 기본 HTML을 열기 위한 기본 세팅

IIS에서 CGI를 안 쓸 거면 저 옵션은 안 켜도 됨

보통은 부분적으로 해당 옵션이 켜져 있던데, 가끔 보안실 등 꺼져 있을 때 대비용~