目录
参考链接:
iis部署django项目完整教程_南_北的博客-CSDN博客
Windows server iis部署Django详细操作 - Django中文 - 博客园
一、部署一个Django网站
1.导入安装wfastcgi,通过命令安装
pip install wfastcgi
这里我们导入在window中安装wfastcgi,不在虚拟环境中,因为本文会涉及到多个django网站,都需要wfastcgi文件,安装在window减少内存。
2.通过上文我们已经创建了IIS全部模块,我们先把项目文件放到网站文件夹下
3.添加网站
注意:应为80端口只能用在一个网站,IIS默认网站就80端口,此处我们需要停止Default web site,启用新增网站
4.在第一步安装的wfastcgi库文件中找到wfastcgi.py文件,放入ybt项目文件中,与manange并列。
所在路径为:C:\Users\Administrator\AppData\Local\Programs\Python\Python35\Lib\site-packages
5.拼接虚拟环境和wfastcgi.py路径,用于windows启动django项目(为下一步做准备)。
拼接结果如下:C:\ENV\ybtenv\Scripts\python.exe|C:\inetpub\wwwroot\ybt\wfastcgi.py
6.创建程序映射即fcgi程序
7.添加环境变量,主要为3个参数。
PYTHONPATH : Django项目目录;
DJANGO_SETTINGS_MODULE : 文件夹名(一般为项目名称).settings,如MySite.settings
WSGI_HANDLER: django.core.wsgi.get_wsgi_application() ,可实际查看是否有此方法
8.注意事项
极其重要的一步:找到项目的根路径(Django项目目录),右键->属性->安全,给IIS_IUS和IUSER对这两个文件夹的完全控制权。否则会因为权限问题,网站无法跑起来,状态一直是500;
通过cmd执行程序,看是否在服务器上可运行(相当于自检测);
9.应用程序池的默认设置:进程模块>>标识,修改成lalcalsystem;
10.目前前端页面的css样式无法显示:
添加虚拟目录
百度上很多大神是通过重写web.config文件解决静态文件无法访问的,内容如下:
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>
其实这个问题是iis的模块映射顺序问题,上边的文件实现的是StaticFile模块放在第一,这个是可以手动实现的。
11.到此已安装成功,服务器中可查看网站的效果了
12.配置服务器的安全组,将3中的端口开放,第一个网站用的是80端口
二、同一域名部署第二个Django网站
第二个网站建设的要点是3处:
1.第三步的添加网站步骤,端口一定不能跟第一个网站一样。
2.第五步的拼接虚拟环境和wfastcgi.py路径,|符号后的内容一定要改成新的网站wfastcgi.py路径。
3.在服务器安全组中添加第三步的端口号