我目前有一个运行IIS 7.5的Windows 2008 Web服务器。我已经为Python 2.7.4成功构建了PyISAPIe 1.1.0。 Django已部署并且可以快速运行。但是据我所知,PyISAPIe有点过时,最新版本是2010年。我发现有Helicon Zoo(WebPI打包运行WSGI桥)和DjangoWindowsTools(使用Fascgi自动部署)。因此,我想请您提出建议:哪种解决方案最适合IIS上的django/python?
最佳答案
我可以看到您找到了一种解决方案。您可能想知道Helicon Zoo也支持FastCGI协议(protocol)进行操作(与Microsoft FCGI模块无关)。此外,它支持TCP协议(protocol)(如Linux上的Nginx),对 cometd 和长轮询支持很有用。此外,它还提供了Microsoft FCGI模块不具备的许多其他功能,例如自动负载平衡和应用程序扩展,缓慢的POST攻击防护以及许多其他功能。使用Web Platform Installer和Helicon Zoo,我可以缩小您的初始bat文件。请查阅:
rem Default settings
SET SITE_NAME=Django Site
SET SITE_PHYSIC_PATH=C:\intepub\%SITE_NAME%
SET SITE_URL=*
SET SITE_PORT=8000
SET SITE_PROTOCOL=http
SET SITE_NAME="Enter site name (%SITE_NAME%):" %=%
SET /p SITE_PHYSIC_PATH="Enter project directory, which contain manage.py (%SITE_PHYSIC_PATH%): " %=%
SET /p SITE_PROTOCOL="Enter http|https for protocol (%SITE_PROTOCOL%): " %=%
SET /p SITE_URL="Enter site url (%SITE_URL%):" %=%
IF "%SITE_URL%"=="localhost" (
SET SITE_URL="*"
)
ECHO.
ECHO Install IIS, Python, Helicon Zoo and other requirements if needed
WebpiCmd.exe /Install /Products:PythonModules /feeds:http://www.helicontech.com/zoo/feed/ /AcceptEula
ECHO.
ECHO Create IIS Site: %SITE_NAME%
md %SITE_PHYSIC_PATH%
%windir%\system32\inetsrv\appcmd add site /name:"%SITE_NAME%" /physicalPath:"%SITE_PHYSIC_PATH%" /bindings:%SITE_PROTOCOL%://%SITE_URL%:%SITE_PORT%
%windir%\system32\inetsrv\appcmd start site /site.name:"%SITE_NAME%"
ECHO.
ECHO Create Django application
echo ApplicationPath[@]%SITE_NAME%/>DjangoProject.app
WebpiCmd.exe /Install /Application:[email protected] /feeds:http://www.helicontech.com/zoo/feed/ /AcceptEula
如果需要,此代码还可以在完整的干净系统上安装IIS,Python,Helicon Zoo和所有其他要求。您只需要Web平台安装程序,就可以从通常安装在 C:\Program Files\Microsoft\Web平台安装程序中的其他系统复制该程序。
关于python - IIS上的Django : PyISAPIe or FastCGI or WSGI or Helicon Zoo or DjangoWindowsTools,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15896943/