2013-04-09 4 views
5

मेरे पास वर्तमान में विंडोज 2008 वेबसर्वर iis 7.5 चल रहा है। मैंने पाइथन 2.7.4 के लिए सफलतापूर्वक पायसापी 1.1.0 का निर्माण किया है। Django तैनात किया गया है और यह तेजी से काम करता है। लेकिन जैसा कि मुझे पता है कि पिसिपी किसी भी तरह का पुराना फैशन है, 2010 में अंतिम संस्करण रिलीज हुआ। मुझे पता है कि हेलिकॉन चिड़ियाघर (वेबपीआई पैकिंग डब्लूएसजीआई पुल) और DjangoWindowsTools (Fascgi का उपयोग करके स्वचालित तैनाती) हैं। तो मैं आपकी सिफारिश के लिए पूछना चाहूंगा: आईआईएस पर डीजेंगो/पायथन के लिए कौन सा समाधान सबसे अच्छा है?आईआईएस पर डीजेगो: पायसापी या फास्टसीजीआई या डब्लूएसजीआई या हेलिकॉन चिड़ियाघर या DjangoWindowsTools

उत्तर

4

से wfastcgi.py grap मैं तुम्हें एक ही समाधान मिल गया है देख सकते हैं। आप जानना चाहेंगे कि हेलिकॉन चिड़ियाघर ऑपरेशन के लिए फास्टसीजीआई प्रोटोकॉल का भी समर्थन करता है (माइक्रोसॉफ्ट एफसीजीआई मॉड्यूल से संबंधित नहीं)। इसके अतिरिक्त यह टीसीपी प्रोटोकॉल (जैसे लिनक्स पर निगेंक्स) का समर्थन करता है, धूमकेतु और लंबे मतदान समर्थन के लिए उपयोगी है। इसके अलावा यह कई अतिरिक्त सुविधाएं प्रदान करता है जो माइक्रोसॉफ्ट एफसीजीआई मॉड्यूल में नहीं है, जैसे स्वत: लोड संतुलन और अनुप्रयोग स्केलिंग, धीमी पोस्ट आक्रमण सुरक्षा और कई अन्य। वेब प्लेटफार्म इंस्टालर और हेलीकॉन चिड़ियाघर के साथ मैं आपकी प्रारंभिक बल्ले फ़ाइल को छोटा कर सकता हूं। समीक्षा करें:

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 

इस कोड को भी यदि आवश्यक हो तो एक पूरा साफ सिस्टम पर आईआईएस, अजगर, हेलिकेन चिड़ियाघर और अन्य सभी आवश्यकताओं स्थापित कर सकते हैं। आपको केवल वेब प्लेटफार्म इंस्टालर की आवश्यकता होगी, जिसे आप अन्य सिस्टम से कॉपी कर सकते हैं जहां यह आमतौर पर सी में स्थापित होता है: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट \ वेब प्लेटफार्म इंस्टालर कोई इंस्टॉलेशन आवश्यक नहीं है।

+0

साझा करने के लिए धन्यवाद –

3

ठीक है, एक और शोध के बाद मुझे पता चला कि विंडोज़ एज़ूर सर्वर फास्टसीजीआई का उपयोग करता है और सेटअप बहुत सरल है। कोई और डाउनलोड नहीं, निर्माण करें ... आप यहां देख सकते हैं http://www.windowsazure.com/en-us/develop/python/tutorials/web-app-with-django/

मैंने एक ऑटो इंस्टॉलर बनाया है। यह आईआईएस 7.5 के साथ विंडोज सीवर 2008 आर 2 पर काम कर रहा है। बस यहाँ 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 
संबंधित मुद्दे