以下は本手順は割愛
- IISのインストール
- IISの基本設定
- Pythonのインストール
- Djangoの基本設定
仮想環境の作成
対象のディレクトリに移動して以下を実行
python -m venv venv
Djandoとwfastcgiをインストール
まずはvenvを有効化しておく
venv\Scripts\activate.bat
IISでDjangoを使用する場合、wfastcgiが必要なので合わせてインストール。
(venv)> pip install django
(venv)> pip install wfastcgi
wfastcgiの有効化
(venv)> venv\Scripts\wfastcgi-enable.exe
以下のように出ればOK
構成変更を構成コミット パス "MACHINE/WEBROOT/APPHOST" の "MACHINE/WEBROOT/APPHOST" のセクション "system.webServer/fastCgi" に適用しました
"d:\webroot\venv\scripts\python.exe|d:\webroot\venv\lib\site-packages\wfastcgi.py" can now be used as a FastCGI script processor
出力されたは後で使います。
d:\webroot\venv\scripts\python.exe|d:\webroot\venv\lib\site-packages\wfastcgi.py
system.webServer/handlers のアンロック
(venv)> %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
以下のように出ればOK
構成パス "MACHINE/WEBROOT/APPHOST" のセクション "system.webServer/handlers" のロックを解除しました。
ハンドラーマッピングでPythonファイルを実行できるようにする。
[サイト] -> [ハンドラーマッピング] で以下のように設定
scriptProcessorはwfastcgi-enable.exe
で取得した結果を使うこと。
web.configの作成
以下のファイルを作成し、Djangoのルートディレクトリに配置。
web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appSettings>
<add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
<add key="PYTHONPATH" value="D:\webroot" />
<add key="DJANGO_SETTINGS_MODULE" value="app.settings" />
</appSettings>
<system.webServer>
<handlers>
<add name="Python FastCGI"
path="*"
verb="*"
modules="FastCgiModule"
scriptProcessor="d:\webroot\venv\scripts\python.exe|d:\webroot\venv\lib\site-packages\wfastcgi.py"
resourceType="Unspecified" />
</handlers>
</system.webServer>
</configuration>
これで準備完了です。