赞
踩
参考:Windows server iis部署Django详细操作!
IIS 500 – 内部服务器错误解决方案
解决方法:打开IIS,在功能视图中找到“错误页”,双击进去后,看最右边的“操作”下的“编辑功能设置…”,将“错误响应”下的“详细错误”勾上。
Q1、需要在服务器上创建python的虚拟环境吗?
A:不是必须,但一般建议每个网站一个独立的虚拟环境。不使用虚拟环境,直接用python安装目录的主环境也可以。多个网站共用一个虚拟环境也可以。
Q2、在网站物理路径(例如:c:\interpub\www\site001\)上创建虚拟环境吗?
A:可以,但不建议这样做,有安全隐患。你可以在D盘上创建python虚拟环境,在E盘上创建网站目录也没有问题。在IIS设置【cgi模块映射】时,指定可执行文件路径为python虚拟环境的python.exe即可。
Q3、网站的文件放在虚拟环境目录还是放在网站目录?
A:放在网站目录下。
wfastcgi 相关设置 参看这里,很详细:https://blog.csdn.net/bigcarp/article/details/121028820
1、在虚拟环境中pip install wfastcgi
2、wfastcgi-enable
3、设置web.config中的<handlers> </handlers>
4、在IIS界面中,设置网站应用程序池的标识设置为“LocalSystem”
5、
- %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
- %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
若python是安装在C:\Users\username\AppData 中,( C:\Users\Administrator\AppData\Local\Programs\Python\Python38\python.exe)建议不要使用全局环境的wfastcgi,我自己测试发现web.config的<handlers> </handlers>中,填写全局的wfastcgi 会报wfastcgi出错,但改为虚拟环境的就可以。
- web.config:
-
- 以下设置报错:
- scriptProcessor="C:\Users\Administrator\AppData\Local\Programs\Python\Python38\python.exe|C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\wfastcgi.py"
-
- -------------------
- 改为以下设置就好了:
- scriptProcessor="c:\www\venv\scripts\python.exe|c:\www\venv\lib\site-packages\wfastcgi.py"
-
-
- 原因不知道
静态目录设置:
django的静态文件放在专门的目录
python manage.py collectstatic 命令把静态文件都收集到一起
python manage.py runserver 用的是 collectstatic收集的文件,单IIS、ngix等则不采用这个规则,需要通过web.config之类进行配置。
https://blog.csdn.net/weixin_36296538/article/details/83153070
1、设置可以直接访问资源。
2、设置无需python解释。
网站根目录配置了cgi映射wfastcgi 后, IIS把所有请求都交给wfastcgi,对于静态文件,不需要交给wfastcgi,所以静态文件放在指定的文件夹,并在文件夹下创建web.config 配置成可以访问。
静态文件目录下的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>
(注意:如果某些目录是不需要python解析,可以在目录下再配置一个 web.config,参考写下如下代码即可:
执行过程:
IIS收到用户请求后,调用【模块映射】所指定的python.exe 启动对应的 wfastcgi.py,
wfastcgi 将会根据路由配置 执行相对应的 function ,并把执行结果返回给iis,由II返回给用户
setting.py 配置
ALLOWED_HOSTS
Debug 等设置项
如果设置完毕还未正常打开网页,设置网站的错误页显示详细错误看看,搞好了再设回自定义。
dddddddddddddddddddd'd'd'd'd'd'd'd'd'd'd'd'd'd'd'd'd'd'd
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。