windows下部署django项目

windows下部署django项目

一、iis+wfastcgi

1. 安装wfastcgi

 

2. 启用wfastcgi

使用管理员权限打开cmd,输入如下命令:

该命令会输出如下信息:

表示已经在iis配置了wafstcgi,其执行命令是…\python.exe …\wfastcgi.py。这一行留着后面需要用到。

3. 配置网站的web.config

在项目的根目录(即manage.py文件所在目录)下新建一个web.config文件。模板如下:

其中需要修改的地方有:

scriptProcessor项,填上步骤2中wfastcgi-enable输出的路径

PYTHONPATH项,为项目的根目录

WSGI_LOG项,wfastcgi的日志文件路径

DJANGO_SETTINGS_MODULE项,django项目的配置文件settings.py的模块路径(即比如该文件路径为./mysite/settings.py,那么就要写作mysite.settings)

 

PS:我在标准模板中注释掉了APPINSIGHTS_INSTRUMENTATIONKEY、以及PTVSD三行。

APPINSIGHTS_INSTRUMENTATIONKEY这是为微软AZURE云平台的Application Insights服务准备的,如果要启用ApplicationInsights的话,除了要配置这个key,还需要额外pip install applicationinsights模块。由于我们并不需要用到这个服务,所以完全可以把这一行删除。

两个PTVSD配置是为 Visual Studio的远程调试准备的,我们也不需要。

4. 在iis中新建网站

将网站路径指向项目根目录即可,其他配置用默认值。

5. 添加IIS_IUSERS用户组的权限

默认情况下,IIS_IUSERS用户组是没有对python安装目录的读写权限的,这时候iis就无法执行python程序。直接访问刚刚配置好的网站会提示500错误:

所以我们需要给python所在的目录(C:\Users\yourname\AppData\Local\Programs\Python)添加IIS_IUSERS用户组的读取与执行权限。

6. 静态文件配置

配置好后,再次访问网站,py被执行了。但是网站无法返回静态资源文件:

为了解决这个问题,只需要在静态文件所在的目录下添加一个web.config文件,说明不使用在步骤3中的web.config里添加的Python FastCGI解释器即可。

 

之后,再次使用浏览器访问项目网站就都正常了。

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注