我目前有一個運行iis 7.5的windows 2008 webserver。我已經成功爲Python 2.7.4構建了PyISAPIe 1.1.0。 Django已經部署並且工作迅速。但是,據我所知,PyISAPIe在2010年發佈的是最新版本。我發現有Helicon Zoo(WebPI打包的運行WSGI橋)和DjangoWindowsTools(使用Fascgi的自動部署)。所以我想問你的建議:哪個解決方案最適合IIS上的django/python?IIS上的Django:PyISAPIe或FastCGI或WSGI或Helicon Zoo或DjangoWindowsTools
5
A
回答
4
虎視眈眈wfastcgi.py我可以看到你已經找到了一個解決方案。您可能想知道Helicon Zoo還支持FastCGI協議進行操作(與Microsoft FCGI模塊無關)。此外,它支持TCP協議(如Linux上的Nginx),對彗星和長輪詢支持非常有用。此外,它還提供了Microsoft FCGI模塊沒有的許多其他功能,例如自動負載平衡和應用程序擴展,緩慢的POST攻擊保護等等。使用Web平臺安裝程序和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和赫利動物園和其他所有要求。您只需要Web平臺安裝程序,您可以從安裝它的其他系統中複製它,通常位於C:\ Program Files \ Microsoft \ Web平臺安裝程序無需安裝。
3
那麼,經過另一項研究,我發現Windows Azure服務器使用FastCGI,設置非常簡單。沒有更多的下載,建立...你可以看到這裏http://www.windowsazure.com/en-us/develop/python/tutorials/web-app-with-django/
我已經創建了一個自動安裝程序。它在使用iis 7.5的Windows seerver 2008 r2上工作。 就從這裏http://pytools.codeplex.com/releases
@ECHO OFF
rem Check for IIS setup
IF NOT EXIST %windir%\system32\inetsrv\appcmd.exe (
ECHO Please have IIS 7.5 install first
GOTO END
)
rem Default settings
SET PYTHON_EXE="C:\Python27\python.exe"
SET PROJECT_NAME="DjangoProject"
SET SITE_NAME="%PROJECT_NAME%"
SET SITE_PHYSIC_PATH=%~dp0
SET SITE_URL="*"
SET SITE_PORT="8000"
SET SITE_PROTOCOL="http"
SET DJANGO_SETTING="%PROJECT_NAME%.settings"
rem Gathering information
ECHO IIS 7.5 Django Setup
ECHO Author: James [email protected]
ECHO ===========================================
ECHO.
SET /p PYTHON_EXE="Enter python.exe path (%PYTHON_EXE%):" %=%
SET /p PROJECT_NAME="Enter project name (%PROJECT_NAME%):" %=%
SET SITE_NAME="%PROJECT_NAME%"
SET DJANGO_SETTING="%PROJECT_NAME%.settings"
SET /p SITE_PHYSIC_PATH="Enter project directory, which contain manage.py (%SITE_PHYSIC_PATH%): " %=%
SET /p DJANGO_SETTING="Django settings module (%DJANGO_SETTING%):" %=%
SET /p SITE_NAME="Enter IIS site name (%PROJECT_NAME%):" %=%
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="*"
)
SET /p SITE_PORT="Enter port (%SITE_PORT%):" %=%
SET WFCGI_FILE="%SITE_PHYSIC_PATH%\wfastcgi.py"
IF NOT EXIST %WFCGI_FILE% (
SET /p WFCGI_FILE="Please enter full path for wfastcgi.py: " %=%
)
ECHO =====================================
ECHO Installing
ECHO Install FASTCGI for IIS. Please wait.
start /wait %windir%\System32\PkgMgr.exe /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;IIS-ManagementConsole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-CGI
ECHO.
ECHO Create IIS Site: %SITE_NAME%
%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 Setup Python FastCGI Handler
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI "/+[fullPath='%PYTHON_EXE%', arguments='%WFCGI_FILE%']"
ECHO.
ECHO Register the handler for this site
%windir%\system32\inetsrv\appcmd set config "%SITE_NAME%" /section:system.webServer/handlers "/+[name='Python_via_FastCGI',path='*',verb='*',modules='FastCgiModule',scriptProcessor='%PYTHON_EXE%|%WFCGI_FILE%',resourceType='Unspecified']" /commit:site
ECHO.
ECHO Configure the handler to run your Django application
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%PYTHON_EXE%', arguments='%WFCGI_FILE%'].environmentVariables.[name='DJANGO_SETTINGS_MODULE',value='k6ecommerce.settings']" /commit:apphost
ECHO.
ECHO Configure PYTHONPATH so your Django app can be found by the Python interpreter
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%PYTHON_EXE%', arguments='%WFCGI_FILE%'].environmentVariables.[name='PYTHONPATH',value='%SITE_PHYSIC_PATH%']" /commit:apphost
ECHO.
ECHO Tell the FastCGI to WSGI gateway which WSGI handler to use:
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%PYTHON_EXE%', arguments='%WFCGI_FILE%'].environmentVariables.[name='WSGI_HANDLER',value='django.core.handlers.wsgi.WSGIHandler()']" /commit:apphost
ECHO.
ECHO Restart IIS
iisreset
ECHO Done...
:END
相關問題
- 1. Python cgi或wsgi
- 2. IIS 7.5上的Python Bottle和CGI(或fastCGI)可用於生產嗎?
- 3. Websockets。 FastCGI或WSGI。 SSL。相同的域。怎麼樣?
- 4. 通過Helicon Zoo在IIS上部署Django項目
- 5. URL:response.redirect,VS2012或IIS?
- 6. 在windows 2012上用Helicon Zoo設置Djangoproject
- 7. 在Helicon Zoo上部署Sinatra模板
- 8. 卸載Helicon Zoo模塊
- 9. Helicon Zoo Sinatra靜態文件
- 10. Apache或IIS for PHP?
- 11. 平均堆棧上安裝端口80或或IIS下
- 12. 瞭解PHP如何在服務器上運行(CGI或fastCGI或mod_php)
- 13. .htaccess或IIS上的.htpasswd等價物?
- 14. Rails,Helicon Zoo和IIS身份驗證重定向循環
- 15. 此服務的IIS或selfhost?
- 16. 在Apache的託管或IIS
- 17. 如何在使用IIS和Helicon Zoo的生產Windows服務器上設置virtualenv?
- 18. Helicon Zoo非常緩慢的軌道
- 19. 上傳文件服務器或IIS
- 20. 金字塔:Nginx + Pserve或Nginx + wsgi?
- 21. 在wsgi中拒絕或過濾請求
- 22. 重定向或重寫IIS
- 23. Visual Studio或IIS錯誤?
- 24. WCF - 自主或IIS偏好?
- 25. IIS Express或卡西尼
- 26. IIS重寫或重定向?
- 27. 禁用或關閉IIS
- 28. IIS 7或ASP.NET安全
- 29. 從IIS或ASP.net MVC或haproxy的URL中刪除子域名
- 30. FastCGI - 損壞的插座管道或同級連接重置(PHP5-FPM或php-fpm)
感謝分享 – 2013-04-15 12:47:19