IIS의 Python : 어떻게?
저는 PHP, dotNet에 대한 배경 지식이 있으며 Python에 매료되었습니다. PHP에서 Python으로 단계적으로 기능을 바꾸고 비트와 조각을 나란히 실행하고 싶습니다. 앱이 엄청 나기 때문에 2 년이 걸릴 수있는이 전환 과정에서 저는 IIS에 묶여 있습니다. 저는 웹 프로그래밍에 대한 15 년의 배경 지식을 가지고 있습니다. IIS의 ISAPI 모듈에서 C 작업을 포함하여 더 이상 다루고 싶지 않은 작업입니다.
Python이 IIS에서 잘 실행되지 않는 것 같습니다. 나는 FastCGI (PHP만을 위해 지원되지 않음)로 어려움을 겪었으며 PyIsapie
(잘못 문서화되어 있고 실행할 수 없었습니다). 결국 나는 HeliconZoo dll로 실행하고 실행했지만 :
내 다음 문제는 사이트를 디버그 / 개발하는 방법입니다. PHP에서는 디버거를 설치하고 웹 사이트에 문제가있을 때마다 디버그하고, 중단 점을 설정하고, 코드를 단계별로 실행하고, 감시 등을 검사합니다. 이것은 개발자 또는 문제 해결사에게 가장 기본적인 유형의 작업 인 것 같습니다. 훌륭한 도구이자 디버거 인 WingIDE를 구입했지만 어떤 이유로 든 IIS 프로세스에서 Python 인스턴스에 연결할 수 없으므로 디버깅이 없습니다. Helicon이 Python을 시작하는 것으로 나타 -O
났으므로이 플래그를 모두 무시하도록 Python을 다시 컴파일했지만 내 디버거 (WingIDE)가 표시되지 않습니다.
다운로드 시간을 포함하여 30 분 만에 IIS에 PHP 'hello world'웹 사이트를 설정할 수 있습니다. 나는 이것이 파이썬에서 작동하지 않도록 약 120 시간 이상을 소비했다고 생각합니다. 저는 프로그래밍 파이썬 과 파이썬 학습을 샀는데 약 3000 페이지입니다. 그리고 내가 떨어질 때까지 봤어.
파이썬은 훌륭한 언어라고 생각하지만 제 시도를 중단 할 위기에 처해 있습니다. IIS7에서이를 설정하는 방법에 대한 단계별 지침을 제공 할 수있는 사람이 있습니까?
방금 5 분만에 했어요.
IIS가 있는지 확인하십시오. 실행 :
%windir%\system32\OptionalFeatures.exe
. 또는 뾰족한 클릭을 통해 시작 ... 제어판 ... 프로그램 및 기능 ... (그리고 왼쪽에 있음) Windows 기능을 켜거나 끕니다. IIS 노드 아래에 CGI가 설치되어 있는지 확인하십시오.python.org에서 Windows 용 Python을 다운로드합니다 . 나는 Python2.7을 잡았다. x64 버전의 Windows가있는 경우 x64 버전을 받아야합니다.
해당 Python MSI의 압축을 풀고 설치합니다. 파이썬을 넣는 기본값을 선택하십시오.
c:\Python27
"개발"파이썬 스크립트를 보관할 디렉토리를 만듭니다. 예 :
c:\dev\python
c:\dev\python
IIS가 읽고 실행할 수 있도록 디렉터리의 파일에 대한 권한을 설정합니다 . 명령 줄에서 다음 두 가지 icacls.exe 명령을 실행하여이를 수행합니다.cd \dev\python icacls . /grant "NT AUTHORITY\IUSR:(OI)(CI)(RX)" icacls . /grant "Builtin\IIS_IUSRS:(OI)(CI)(RX)"
IIS 관리자를 엽니 다. 을 실행
%windir%\system32\inetsrv\iis.msc
하거나 제어판을 통해 다음을 수행하십시오. 시작 ... 제어판 ... 관리 도구 ... 인터넷 정보 서비스 (IIS) 관리자. 새 응용 프로그램을 만듭니다. 가상 경로를로 지정하고/py
물리적 경로를로 지정합니다c:\dev\python
.즉 응용 프로그램을 IIS 내에서의 스크립트 맵을 추가
*.py
하고,에 매핑c:\python27\python.exe %s %s
create a "HelloWorld.py" file in
c:\dev\python
with this as the content:print('Content-Type: text/plain') print('') print('Hello, world!')
invoke
http://localhost/py/helloworld.py
just make sure the path to the directory holding the cgi scripts doesn't have spaces or &.
i tried lots of things for many days and nothing worked then i changed the path and it worked
When you are developing a web application with Python, you don't use IIS/Apache/etc. Those web servers are only for deployment. Frameworks like Pyramid/Pylons/Django all come with built-in web servers. Pyramid, in particular, has excellent documentation which should help you to get started: http://docs.pylonsproject.org/docs/pyramid.html
배포 시점에 이르렀을 때 Linux + Apache는 Windows + IIS보다 훨씬 더 현명한 선택이 될 것입니다. Windows + IIS를 반드시 사용해야하는 경우 가상 성능 문제가 있으므로 isapi-wsgi를 사용하지 마십시오. http://groups.google.com/group/isapi_wsgi-dev/browse_thread/thread/9fade6efca6c5b89
PyISAPIe는 저에게 충분히 잘 작동했지만 Python 2.7 용으로 PyISAPIe.dll을 직접 컴파일해야했습니다.
참고 URL : https://stackoverflow.com/questions/6823316/python-on-iis-how
'IT박스' 카테고리의 다른 글
인수를 정수로 변환 (0) | 2020.12.11 |
---|---|
iPhone / iPod / iPad를 잠 가서 하나의 앱만 실행할 수 있습니다. (0) | 2020.12.11 |
PHP : 기본 cURL 제한 시간 값 (0) | 2020.12.11 |
명령 출력이 파일 및 터미널로 리디렉션됩니다. (0) | 2020.12.11 |
AngularJS-서비스, 공장, 필터 등에 의존성 주입 (0) | 2020.12.11 |