チュートリアルが基づいている のWindows 10のPro + Python3.6 + IIS + wfastcgi 展開Django2.2では、同じことが上記のWindows7のWindows server2012サーバーとWindowsオペレーティングシステムに適用されます。
環境の準備
1.Pythonと仮想環境
PythonのDjangoはインタプリタ環境に依存します。インストール手順は省略されています。参照してくださいhttps://www.cnblogs.com/wcwnina/p/9069783.htmlを(実際の状況に応じて仮想環境をインストールすることはできません)。
(CGI含む)2. IISサーバーのインストール
開き、[コントロールパネル] - > [プログラムと機能]、左側の開口部[] IISを有効にする、有効にするか、またはWindowsの機能を無効にし、CGIを含めるようにしてください。
次の画面が正常にインストールされたことを示す、表示された場合、IISのテストにアクセスするには、ブラウザでlocalhostアドレスを入力します。
3.プロジェクトファイル、依存ライブラリをコピーします
まず、展開、運用環境では、デバッグモードをオフに設定ファイルを変更するには:
= DEBUG 偽#デバッグオフ allowed_hostsを = [ 「127.0.0.1 」 ]#は、IPホストがサイトにアクセスすることができます指定します
これは、同じフォルダ内のファイルおよび仮想プロジェクト環境をアップロードし、サーバは新しいフォルダを作成することをお勧めします。仮想環境を入力し、バルクは、すべての依存ライブラリをインストールします。
ピップ-r requirements.txtをインストール
注:上記のコマンドの前提が輸出プロジェクト環境にコマンド「ピップフリーズ> requirements.txt」で実行されたファイルをrequirements.txtするライブラリ情報に依存しています。
如果使用的是Mysql数据库,请自行安装Mysql和导入数据,这里就不说明。
4.安装wfastcgi应用服务器
进入虚拟环境,pip安装之,如图。
启动wfastcgi:
wfastcgi-enable
如上图,启动成功之后,它会把Python路径和wfastcgi的路径显示出来,我们需要把这个路径复制出来,保存好,后边用得着!
e:\djblog\vpy_myblog\scripts\python.exe|e:\djblog\vpy_myblog\lib\site-packages\wfastcgi.py
注意:上面的路径,是由Python解释器的路径和“|”以及“wfastcgi.py”文件路径组成。
配置IIS服务器
通过【控制面板】->【管理工具】打开IIS管理器。
1.添加网站
2.web配置文件
在项目根目录下新建"web.config"配置文件,复制粘贴以下内容。
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="<Path to Python>\python.exe|<Path to Python>\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="<Path to Django App>" /> <add key="DJANGO_SETTINGS_MODULE" value="<Django App>.settings" /> </appSettings> </configuration>
修改配置文件:
3.添加静态文件虚拟目录
右键添加虚拟目录,如图。
添加虚拟目录时,别名与你的settings里设置的一致,比如"static",物理路径就是静态资源的实际目录。
在static目录下新建一个"web.config"文件,然后写入下面的内容,保存即可无须修改。
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <!-- this configuration overrides the FastCGI handler to let IIS serve the static files --> <handlers> <clear/> <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" /> </handlers> </system.webServer> </設定>
これまでのところ、基本的展開を完了しました。IISを再起動し、サイトにアクセスすることができ、ブラウザでhttp://127.0.0.1を入力してください。
よくある質問
1.間違いがある場合はアクセスをIIS
デフォルトのロックされた設定項目が変更することが許可されていないことにより、IIS7の以降のバージョンでは、より安全なweb.configファイル管理メカニズムを採用しているため、これが発生します。私たちは、それがOKでロック解除置きます。
オープンCMD、次の2つのコマンドは、順次に入力されます。
%windir%\ system32 \ inetsrvに\ APPCMDロック解除設定-section:system.webServer /ハンドラ の%windir%\ system32 \ inetsrvに\ APPCMDロック解除設定-section:system.webServer /モジュール
2.時々ページにアクセスし、または単独の400エラーをWebサイトの背景をご覧ください。
サイトが許可を与えていなかったので、今回はその理由であってもよいです。私たちは、右、サイトを見つけるために、IISのユーザーに、編集、追加、変更、および書き込み権限の許可をIISを開きます。あなたは、通常のアクセスできるようになります。
3.静的ファイルが異常を示し、
settings.pyで構成されたSTATIC_ROOTを追加し、指定されたコレクションの静的ファイルパス、例えば:
STATIC_ROOT = os.path.join(BASE_DIR、' 静的')
仮想環境を入力し、静的ファイルを収集するために、次のコマンドを入力します。
python manage.pyのcollectstatic
収集が完了すると、正常に表示するページを更新します。
この時点で、ソースを明記してください。