Django上线部署之IIS的配置方法


Posted in Python onAugust 22, 2019

环境:

1 .Windows Server 2016 Datacenter 64位

2 .SQL Server 2016 Enterprise 64位

3 .Python 3.6.0 64位

4.administrator用户,无域环境,最高权限

要求:

按照顺序部署

1 .安装数据库

2 .安装数据库客户端【SSMS】

3 .安装Python

4 .安装IIS

5.安装CGI

6.将源码拷贝至【C:\inetpub\wwwroot\MySite】

( MySite是自定义文件夹,wwwroot是IIS默认网站存放的文件夹,为避免权限问题,不建议变动)

7.cmd 执行:pip install -r requirements(安装依赖包)

8.cmd 执行:pip install wfastcgi

9 .cmd 执行:wfastcgi-enable(获取脚本处理器信息,第8步需要使用)

【scriptProcessor】

结构:<Python安装路径>\python.exe|<Python安装路径>\lib\site-packages\wfastcgi.py

例如:【d:\programs\python\python.exe|d:\programs\python\lib\site-packages\wfastcgi.py】

7.打开IIS管理器添加网站,网站名称为【MySite】,物理路径为【C:\inetpub\wwwroot\MySite】,选择IP和端口

8.在【C:\inetpub\wwwroot\MySite】文件夹下添加文件【web.config】,内容如下(【】内是需要替换的部分):

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
   <system.webServer>
     <handlers>
       <add name="Python FastCGI" 
           path="*" 
           verb="*" 
           modules="FastCgiModule" 
           scriptProcessor="【d:\programs\python\python.exe|d:\programs\python\lib\site-packages\wfastcgi.py】" 
           resourceType="Unspecified" 
           requireAccess="Script"/>
     </handlers>
   </system.webServer>
   <appSettings>
     <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
     <add key="PYTHONPATH" value="【C:\inetpub\wwwroot\MySite】" />
     <add key="DJANGO_SETTINGS_MODULE" value="【项目名.settings】" />
   </appSettings>
 </configuration>

9.在网站【MySite】添加【static】虚拟目录

10.在【C:\inetpub\wwwroot\MySite\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>

11 .在网站【MySite】添加【media】虚拟目录

12.在【C:\inetpub\wwwroot\MySite\media】文件夹下添加文件【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="MediaFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
     </handlers>
   </system.webServer>
 </configuration>

权限相关的报错,执行如下三步:

13 .cmd 执行:%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers

14 .cmd 执行:%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

15.右键点击【MySite】,点击【编辑权限】,在【安全】选项卡里给IIS_IUSERS赋予【完全控制】的权限

总结

以上所述是小编给大家介绍的Django上线部署之IIS的配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python的urllib模块显示下载进度示例
Jan 17 Python
详解Django框架中的视图级缓存
Jul 23 Python
django 常用orm操作详解
Sep 13 Python
python批量替换页眉页脚实例代码
Jan 22 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
Apr 06 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
python查看矩阵的行列号以及维数方式
May 22 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 Python
Anaconda配置各版本Pytorch的实现
Aug 07 Python
python turtle绘图
May 04 Python
对python中UDP,socket的使用详解
Aug 22 #Python
python3的url编码和解码,自定义gbk、utf-8的例子
Aug 22 #Python
Python学习笔记之集合的概念和简单使用示例
Aug 22 #Python
解决python 3 urllib 没有 urlencode 属性的问题
Aug 22 #Python
python爬虫增加访问量的方法
Aug 22 #Python
Python中字典与恒等运算符的用法分析
Aug 22 #Python
python实现通过flask和前端进行数据收发
Aug 22 #Python
You might like
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
php 三维饼图的实现代码
2008/09/28 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
PHP中使用unset销毁变量并内存释放问题
2012/07/05 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
python 异或加密字符串的实例
2018/10/14 Python
Python实现图像的垂直投影示例
2020/01/17 Python
python实现加密的方式总结
2020/01/19 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
毕业设计计划书
2014/01/09 职场文书
反腐倡廉标语
2014/06/24 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
小学生校园广播稿
2014/09/28 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
教你用python实现12306余票查询
2021/06/30 Python
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫
Vue操作Storage本地化存储
2022/04/29 Vue.js