感谢:http://blog.csdn.net/gzlaiyonghao/article/details/70243639
因业务切换,将原先的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下完成下面两个设置: