Django架設在Windows IIS上

1. 環境準備

1.1 Python 3.x安裝

Python下載頁下載Python 3.x並安裝

1.2 Upgrade PIP

1
python -m pip install --upgrade pip

1.3 安裝所需套件

1
pip install -r requirements.txt

1.4 安裝ODBC Driver for SQL Server

安裝ODBC Driver for SQL Server (需視SQL Server版本選擇對應的ODBC Driver)

1.5 安裝IIS CGI模組

2. 安裝wfastcgi

Install wfastcgi

1
pip install wfastcgi

Enableing (enable wfastcgi in the IIS configuration)**

1
wfastcgi-enable

enable後會產生以下訊息,記錄下來,之後IIS設定需要

已將設定變更套用至設定認可路徑 “MACHINE/WEBROOT/APPHOST” 中 “MACHINE/WEBROOT/APPHOST” 的區段 “system.webServer/fastCgi” 。
“C:\Users\XXX\Anaconda3\envs\django\python.exe|C:\Users\XXX\Anaconda3\envs\django\lib\site-packages\wfastcgi.py” can now be used as a FastCGI script processor

3. IIS設定

新增網站

IIS首頁「站台」按右鍵 → 新增網站

輸入網站設定

4. 設定「處理常式對應」

選擇剛設定完的站台,點選「處理常式對應」

點擊「新增模組對應」,設定新增模組對應:

  1. 要求路徑:*
  2. 模組:FastCgiModule
  3. 執行檔:上面wfastcgi-enable步驟所產生的訊息
  4. 名稱:模組對應名稱(whatever)

設定「要求限制」

取消勾選「只有當要求對應到下列項目時才啟動處理常式」

5. 設置FastCGI設定

回IIS首頁,點選「FastCGI設定」

點選剛設定的資料,點右上角「編輯」

編輯FastCGI應用程式,設定環境變數

NameValue
WSGI_HANDLERdjango.core.wsgi.get_wsgi_application()
PYTHONPATHDjango Project路徑
DJANGO_SETTINGS_MODULE(Django App Name).settings

6. 設置靜態資源(static resource)

確認settings.pySTATIC_ROOT設定

1
2
3
4
5
6
7
8
9
# settings.py
...
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_ROOT = os.path.join(BASE_DIR, '**staticfiles**')
# 靜態資源資料夾名為staticfiles
...

python manage.py collectstatic在執行時,Django會將靜態文件收集到STATIC_ROOT中。

新增一個虛擬目錄映射到STATIC_ROOT所設定的目錄

最後在站台設定應類似以下內容: