测试环境
系统 | IIS版本 | Python版本 | Django版本 |
---|---|---|---|
Windows Server 2008 R2 Enterprise | 6.0 | 3.7.3 | 2.2 |
环境准备
-
IIS安装
- 服务器管理器 > Web服务器(IIS)
- Web服务器(IIS) > 添加角色服务 > CGI
- 服务器管理器 > Web服务器(IIS)
-
Python环境安装
- 导出开发环境安装的模块
pip freeze > requirements.txt
- 安装
Python3.7.3
- 拷贝项目源码到服务器磁盘,例:
D:\IIS-Site\SCSDN
- 创建Python虚拟环境
- 安装虚拟环境创建工具
pip install virtualenv
;- 在项目根目录创建虚拟环境目录
virtualenv venv
,虚拟环境解释器为默认解释器,
可以用virtualenv -p D:\Program Files\python3.7.3 venv
进行指定; - 激活虚拟环境
venv\Scripts\activate
; - 安装所需模块
pip install -r requirements.txt
。
- 安装虚拟环境创建工具
- 导出开发环境安装的模块
网站部署
-
添加IIS站点
-
[重要]:站点域名或IP加入到
settings.ALLOWED_HOSTS
ALLOWED_HOSTS = ['127.0.0.1','localhost']
-
选中刚刚创建的网站 > 处理程序映射 > 添加模块映射
1
如图填写;2
为FastCgiModule;3
Python解释器及其调用的wfastcgi.py文件路径。4
任意名称
-
IIS根 > FastCGI 设置 > 添加应用程序
一般情况下完成上一步会出现如下图所示,直接双击
如果没有如下图进行设置:
- 双击后设置环境变量
WSGI_HANDLER=
django.core.wsgi.get_wsgi_application()
PYTHONPATH=D:\IIS-Site\SCSDN
--> 设置成你的项目根路径
DJANGO_SETTINGS_MODULE=SCSDN.settings
--> 你的settings.py
相对根目录的路径
- 双击后设置环境变量
静态文件配置
-
生成生产模式下静态文件目录
python mange.py collectstatic
-
右击新建的站点 > 添加虚拟目录
1
为settings.STATIC_URL
设置名称
2
为项目静态文件路径
- 在静态文件目录下添加
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>
或者也可以通过站点 > 处理程序映射 > 添加模块映射
配置StaticFileModule
其他设置
- 如果绑定了域名需要进行域名解析
- 需要开放绑定端口
- 如果站点有对本地文件进行读写需要添加对应目录的操作权限,具体操作如下:
右键IIS站点 > 编辑权限 > 安全 > 编辑相关用户权限
完成上边操作后,网站即可正常访问了,下方是我示例网站的截图