Windows + iis + python + django
Windows + iis + python + django
1、 先下载iis
官网地址: https://www.iis.net/downloads
下载后安装iis
2、控制面板、 程序、 启动或关闭windows功能

把CGI勾上后
3、 运行控制面板、系统和安全、管理工具、internet information service

如果觉得麻烦可以把这个快捷方式复制到桌面
4、 点开网站、default web site、管理网站、启动

5、 访问下面这个地址看到这个界面就说名安装成功了

6、 安装python
官网地址: https://www.python.org/downloads/
配置环境变量这里我就不多说了。
7、 创建一个django程序
下载依赖包
pip install -r requirements.txt
首先确保自己的django网站在服务器上可以通过命令行 runserver 正常运行。
8、 安装wfastcgi
在Windows下,我们没法使用uwsgi,但我们可以使用wfastcgi替代它,打开CMD窗口,输入命令安装wfastcgi:
pip install wfastcgi
安装成功之后,通过下面命令启动它:
wfastcgi-enable

如上图,启动成功之后,它会把Python路径和wfastcgi的路径显示出来,我们需要把这个路径复制出来,保存好,后边用得着
D:\python3.6\python3.6.exe|D:\python3.6\lib\site-packages\wfastcgi.py
9、 在IIS里添加项目网站

10、 在项目根目录里新建一个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> <modules runAllManagedModulesForAllRequests="true"> <remove name="WebDAVModule"/> </modules> </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>
留意:这里面我标记的三个地方,我们需要修改。1、替换为我们之前我们启动wfastcgi时复制的python和wfastcgi的路径。2、填写我们的项目路径。3、填写settings.py的位置。<django App>修改成我们的settings.py所在目录的目录名即可。

11、 查看映射
上面的可执行文件是 wfastcgi-enable 输出的python和wfastcgi的路径
12、 填好后点击请求限制, 把仅当前请求映射以下内容这个勾去掉

此时多了一个刚刚映射的模块

16、 编辑网站的权限

17、 设置成完全控制

18、 这个时候访问http://127.0.0.1:8000/
会出来一个没有样式的 Django项目
如果端口配置的是80要先把Def Web Site这个先停掉
19、 配置静态文件

路径是static路径

20、 在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> </configuration>
21、 重启IIS,访问网站,前端就能正常显示。
这个时候应该就能看到样式了
22、 管理后台样式丢失问题
在settings.py里添加STATIC_ROOT配置指定收集路径如:
#指定样式收集目录,路径一般为项目里的static文件夹 STATIC_ROOT = os.path.join(BASE_DIR, 'static') #或 STATIC_ROOT = 'C:\python\mysite\static'
然后项目根目录下CMD运行如下面命令,进行样式采集:
python manage.py collectstatic
23、支持 put 请求
<system.webServer> <modules runAllManagedModulesForAllRequests="true"> <remove name="WebDAVModule"/> </modules> </system.webServer>
采集完成之后,刷新页面。后台样式成功显示。至此,部署结束。
如果各位读者在部署的时候,出现什么问题,可以在文章后面留言。
对了,该部署要用windows部署

浙公网安备 33010602011771号