1. 程式人生 > >IIS 7.5上配置執行Python 3.6+Django 網站

IIS 7.5上配置執行Python 3.6+Django 網站

因業務切換,將原先的CentsOS換成Windows 2008 R2作業系統,重新部署了下Django網站,現將過程記錄下:
1、安裝Winodws版的Python 3.6環境,直接下載Anaconda3-4.3.1-Windows-x86_64.exe整合包並安裝(要勾選新增環境變數)
2、安裝並配置wfastcgi:
官網:https://pypi.python.org/pypi/wfastcgi
先在Windows2008伺服器開啟IIS角色功能,新增CGI等模組。
開啟Power Shell新視窗(cmd),執行命令:

pip install wfastcgi

等待安裝成功;
執行

wfastcgi-enable

命令啟用它,成功後會輸出:
這裡寫圖片描述

3、配置 web.config
在IIS中新建網站,目錄指向專案的根目錄(如有同時繫結好域名)。在Django程式的根目錄下(與manager.py同級)新建web.config檔案,其配置內容如下:

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
                <add
name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="c:\programdata\anaconda3\python.exe|c:\programdata\anaconda3\lib\site-packages\wfastcgi.py" resourceType="Unspecified"
requireAccess="Script"/>
</handlers> </system.webServer> <appSettings> <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" /> <add key="PYTHONPATH" value="C:\sitepath" /> <add key="DJANGO_SETTINGS_MODULE" value="prjname.settings" /> </appSettings> </configuration>

重點是以下這幾個變數值:scriptProcessor、PYTHONPATH、DJANGO_SETTINGS_MODULE,要改成自己的實際值。

為了讓靜態檔案的處理不經過Python這一層,在static目錄下也添加個子級的web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <remove name="Python FastCGI" />
    </handlers>
  </system.webServer>
</configuration>

此檔案中的remove name的值要與上級的add name值一致。
PS:python manager.py collectstatic 可以生成靜態樣式檔案,特別是admin管理端的目錄。
如果出現IIS-500錯誤,則給站點目錄加上IIS_IUSRS使用者許可權試下

重啟下網站即可訪問。

—配置好後,會自動在IIS下完成下面兩個設定:
處理程式對映

FastCGI設定