IIS 8에서 Django를 설정하는 방법은 무엇입니까?


11

과거에는 Windows 8 Developer Preview의 IIS 8에서 Django를 실행하려고했습니다. 이제 Windows 8의 소비자 미리보기가 종료되었으므로 IIS에서 Django를 설정하는 방법에 대한 자세한 지침을 얻을 수 있는지 궁금합니다.

이 과정을 어떻게 진행해야합니까-어디서부터 시작해야할지 거의 알 수 없습니다. 특정 ISAPI 모듈이 필요합니까?

답변:


19

이 과정은 간단하지는 않지만 다음 단계를 사용하여 가능합니다.

  1. 먼저 Python 2.6을 다운로드하여 설치하십시오 . (PyISAPIe 모듈이 지원하는 최신 Python 버전이 Python 2.6이기 때문에 Python 2.7 대신 Python 2.6을 제안하는 이유는 Python을 설치하는 위치를 기록해 두십시오 ( C:\Python26기본적으로 올바르게 기억하는 경우).

  2. 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭하십시오. 왼쪽에서 고급 시스템 설정을 클릭하십시오.

    여기에 이미지 설명을 입력하십시오

  3. 고급 탭을 클릭 한 다음 환경 변수 버튼을 클릭하십시오. 하단 목록 상자에서 경로를 찾으십시오.

    여기에 이미지 설명을 입력하십시오

  4. "편집 ..."버튼을 클릭하고 변수 값 끝으로 가서 ;C:\Python26(세미콜론과 파이썬을 설치 한 경로)를 삽입 하십시오 :

    여기에 이미지 설명을 입력하십시오

  5. 확인을 클릭하여 모든 대화 상자를 닫습니다.

  6. 그런 다음 최신 버전의 PyISAPIe를 여기 에서 다운로드 하십시오 . 어딘가에 아카이브의 내용을 추출하고 디렉토리를여십시오.

  7. 그런 다음 제어판을 열고 프로그램 및 기능을 클릭 한 다음 왼쪽에서 "Windows 기능 켜기 또는 끄기"를 클릭하십시오.

    여기에 이미지 설명을 입력하십시오

  8. 인터넷 정보 서비스-> 월드 와이드 웹 서비스-> 응용 프로그램 개발 기능을 찾아 ISAPI 확장이 선택되어 있는지 확인하십시오.

    여기에 이미지 설명을 입력하십시오

  9. 변경 사항을 적용한 다음 IIS 관리자를 엽니 다. 핸들러 맵핑 아이콘을 두 번 클릭하십시오.

    여기에 이미지 설명을 입력하십시오

  10. 오른쪽에서 모듈 매핑 추가를 클릭하십시오. 대화 상자가 나타나면 다음 정보를 입력하십시오.

    • 요청 경로 : *
    • 모듈 : IsapiModule
    • 실행 파일 (선택 사항) : [PyISAPIe를 추출한 경로를 찾아서 선택 PyISAPIe.dll]
    • 이름 : PyISAPIe를 통한 Python


    다음과 같이 보일 것입니다 :

    여기에 이미지 설명을 입력하십시오

  11. 대화 상자를 닫기 전에 요청 제한을 클릭하고 "요청이 다음에 맵핑 된 경우에만 핸들러 호출 :"을 선택 취소 한 후 확인을 클릭하십시오. 또한 확인을 클릭하여 모듈 매핑 추가 대화 상자를 닫습니다 (허용 항목이있는 확장명을 ISAPI 및 CGI 제한 목록에 추가할지 묻는 메시지가 표시되면 예를 클릭하십시오).

    여기에 이미지 설명을 입력하십시오

  12. 다음 단계는 Django 를 다운로드하는 것 입니다. 아카이브의 내용을 어딘가에 추출하십시오 (위치는 표시하지 않음). 명령 프롬프트를 열고 ( Win+ R를 누르고을 cmd치고 눌렀을 때 가능 Enter) cdDjango를 추출한 위치 와 다음을 입력 하십시오.

    여기에 이미지 설명을 입력하십시오

  13. 을 누르고을 Enter입력 cd dj한 다음을 누릅니다 Tab. Django 폴더의 경로가 완성되면를 눌러 Enter디렉토리를 열 수 있습니다 . 이제 입력 python setup.py install:

    여기에 이미지 설명을 입력하십시오

  14. 이제 Django 프로젝트를 만들어야합니다. 예를 들어 아래에 프로젝트를 만듭니다 C:\Django. 명령 창에서 아래 명령을 입력하고 다음을 수행하십시오 Enter.

    • cd C:\
    • mkdir Django
    • cd Django
    • python C:\Python26\Lib\site-packages\django\bin\django-admin.py startproject test


    'test'라는 프로젝트가 생성됩니다.

  15. 프로세스가 성공적으로 완료되면 마지막 남은 작업은 PyISAPIe를 Django에 연결하는 것입니다. 이렇게하려면 PyISAPIe를 추출한 디렉토리로 돌아가서 Http 디렉토리를 찾으십시오. 내부는 파일 Isapi.py입니다. 텍스트 편집기에서 열고 내용을 다음으로 바꿉니다.

    from django.core.handlers.wsgi import WSGIHandler as DjangoHandler
    from Http.WSGI import RunWSGI
    from Http import Env
    import os, sys
    
    sys.path.append('C:\Django')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'test.settings'
    
    def Request():
    
        PathInfo = Env.PATH_INFO
    
        if not PathInfo.startswith('/'):
            return True
    
        for Excl in ['/media']:
            if PathInfo.startswith(Excl):
                return True
    
        return RunWSGI(DjangoHandler(), Base='/')
    
  16. Http 디렉토리를 복사하십시오 C:\Python26\Lib\site-packages(또는 다른 곳에 Python을 설치 한 경우 적절한 디렉토리).

  17. IIS를 다시 시작하십시오 (IIS 관리자의 오른쪽에있는 "다시 시작"을 클릭하면됩니다).

    여기에 이미지 설명을 입력하십시오

  18. 모든 것이 올바르게 작동하면 http : // localhost 로 이동 하여 새 Django 사이트를 볼 수 있습니다.

    여기에 이미지 설명을 입력하십시오


추가 메모 및 추가

  • 이후 Python 2.7 용 PyISAPIe (32 비트 및 64 비트)를 직접 컴파일하고 여기에 파일을 업로드했습니다. http://www.box.com/s/a5fb1b21fcdf738d2590

  • 6 단계 pyisapie.dll에서 IIS가 최소한 읽기 액세스 권한이있는 디렉토리 에 있는지 확인해야 합니다. 이를 고려하지 않으면 이상한 오류가 발생합니다.


2
피의 좋은 대답 George. +1
Kev

1
이 아주 좋은 답변은 저를 구해주세요
Trinh Hoang Nhu

고마워,하지만 작동하도록 노력하고 있습니다. 서버> 사이트 아래에서 IIS 웹 사이트를 생성한다고 언급하지는 않습니다. 당신은 필요하지 않습니까? 기본 웹 사이트 / DefaultAppPool을 사용합니까? 그렇다면 웹 사이트 루트로 무엇을 표시합니까? 또한 : DLL이 작동하는지 어떻게 알 수 있습니까? Http 아래의 .py 파일은 컴파일되지 않으므로 요청이 Python / Django에 의해 처리되지 않는다고 생각합니다.
Eric Leibenguth

1

이 블로그 게시물에서 IIS8에 Django를 설치하는 방법에 대한 자세한 가이드를 찾을 수 있습니다.

IIS에 Django 설치 : 단계별 자습서

간단히 말해서 다음 단계를 수행해야합니다.

  • Windows에서 Python 설치
  • 장고 설치
  • 장고 프로젝트 설치
  • 테스트 HTTP 서버 실행
  • FastCGI 서버 구성 및 실행
  • FastCGI 응용 프로그램을 실행하도록 IIS 구성
  • 정적 자원 및 매체 디렉토리 구성
  • 데이터베이스에 대한 참고 사항 (일부 데이터베이스의 호환 드라이버에 대한 참고 사항)
  • 문제 해결 (문제 해결 방법에 대한 참고 사항)

희망이 도움이됩니다!


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.