Python Django 項目部署發◥布到windows iis環境,運行環境如下:
操作系統:windows 8.1
IIS版本:8.5
Python版本:2.7
Django版本:1.4
1. IIS服務添加CGI組件
在操作系統的啟用或關閉windows功能↘裏添加IIS CGI組件,如已添加忽略》。

2. IIS服務添加FAST CGI組件
打開IIS管理器時,系統會提示如下圖,選擇是:

或者訪問網址:http://www.microsoft.com/web/downloads/platform.aspx,進入web安裝平臺程序▃,搜索FastCGI關鍵字。


安裝WFastCGI2.1Gateway for IIS and Python 2.7.9組件,安裝完成後在C:\Python27\Scripts\目錄下會增加wfastcgi.py文件。

3. 拷貝wfastcgi.py文件到項目manage.py相同目♂錄下
把項目文件ζ 拷貝到C:\inetpub\wwwroot\mysite目錄下,同時,復制wfastcgi.py到本目錄下。

4. IIS創建站點
我們把『項目文件拷貝到IIS 的wwwroot目錄下,創建IIS站點,如下圖:

筆者註:IIS的項目發布目錄最好〓在wwwroot下,可以︽避免很多windows權限問題。
另外拷貝文件後,註意修改setting.py裏的數據庫目〓錄。
DATABASES = { 'default': { # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'ENGINE': 'django.db.backends.sqlite3', # Or path to database file if using sqlite3. 'NAME': 'C:\\inetpub\\wwwroot\\mysite\\MyDB.db', # Not used with sqlite3. 'USER': '', # Not used with sqlite3. 'PASSWORD': '', # Set to empty string for localhost. Not used with sqlite3. 'HOST': '', # Set to empty string for default. Not used with sqlite3. 'PORT': '', } }
5. 添加處理程╲序映射
IIS 管理器中←選擇站點mysite,選中該站點◣的“處理程序映射”設置。

在“處理程序映射”設置中,右鍵選擇“添加〒模塊映射”菜單。


輸入→完配置信息,點擊“請求限制(R)…”,確保映射tab頁CheckBox不被選中。

然後,點擊兩次“確定”按鈕,系統會彈出如下提示框:
“要為卐此可執行文件創建 FastCGI 應用程序嗎? 單擊“是”將此項添加◆到 FastCGI 集合中,以及允許此可執行文件↙作為 FastCGI 應用程序運行。”
點擊[是]

6. 修改我們∏的web.config文件只保留如下代碼
完成部署,在IIS管理器Ψ 中重新啟動mysite站點。
7. 訪問發◤布的網站

我↓們訪問基於模板的頁面,頁面是能正常訪問的,但是訪問基於∞Extjs的inventoryQueryExtjs頁面,頁面不能正常顯示。這是Extjs相關的靜態文件目錄沒有正常部署的緣故。
8. 靜態文件☉部署
根據setting.py靜態文件目錄的配置,我們項目目錄下◇創建一個static的文件目錄

在cmd命令窗口進入到項目目錄下,執行命令:
python manage.py collectstatic

然後,在iis管理器mysite站點〖下添加static虛擬目錄:

註:最後刪除虛擬目錄處理程序映射∩中的Django handler處理器。

我們再訪問網站的inventoryQueryExtjs頁面,頁面正常顯示,現在完成了示例網站☆的IIS發布工作。

9. 小結
本章節我們完成了在IIS平臺部署我們的django項目,采用的是“處理程序映射”的Fast CGI來實現django項目的解析處理。
10.運行
最後以Django個人博客項目為例,記錄※下部署過程:(先pip install django就不用說了)
StepA: 首先將項目在本地用pycharm導入後,並】不能運行。此時我們需要添加庫和創建數據庫。
StepB: 然後,命令行cd到manage.py所在文件」夾,運行python manage.py migrate
StepC: 根據命令行提示安裝項目所需而你又沒裝的庫函數以及同步數據庫
StepD: 創建超級用█戶:python manage.py createsuperuser
StepE: 運行項目:python manage.py runserver ip port ,一般python manage.py runserver 8000就好,ip默認是127.0.0.1
曬張博客運行截圖:
