Python开发入门与实战15IIS部署

15. IIS部署

前面的章节我们完成了基本的业务功能的开发,本章节我们来说说python django项目如何部署到实际的运行环境,完成开发系统的发布工作。

Python Django 项目部署发布到windows iis环境,运行环境如下:

操作系统:windows 8.1

IIS版本:8.5

Python版本:2.7

Django版本:1.4

15.1. IIS服务添加CGI组件

在操作系统的启用或关闭windows功能里添加IIS CGI组件,如已添加忽略。

Python开发入门与实战15IIS部署

15.2. IIS服务添加FAST CGI组件

打开IIS管理器时,系统会提示如下图,选择是:

Python开发入门与实战15IIS部署

或者访问网址:http://www.microsoft.com/web/downloads/platform.aspx,进入web安装平台程序,搜索FastCGI关键字。

Python开发入门与实战15IIS部署

Python开发入门与实战15IIS部署

 

安装WFastCGI2.1Gateway for IIS and Python 2.7.9组件,安装完成后在C:\Python27\Scripts\目录下会增加wfastcgi.py文件。

Python开发入门与实战15IIS部署

15.3. 拷贝wfastcgi.py文件到项目manage.py相同目录下

把项目文件拷贝到C:\inetpub\wwwroot\mysite目录下,同时,wfastcgi.py到本目录下。

Python开发入门与实战15IIS部署

15.4. IIS创建站点

我们把项目文件拷贝到IIS 的wwwroot目录下,创建IIS站点,如下图:

Python开发入门与实战15IIS部署

笔者注:IIS的项目发布目录最好在wwwroot下,可以避免很多windows权限问题。

15.5. 添加处理程序映射

IIS 管理器中选择站点mysite,选中该站点的“处理程序映射”设置。

Python开发入门与实战15IIS部署

在“处理程序映射”设置中,右键选择“添加模块映射”菜单。

Python开发入门与实战15IIS部署

Python开发入门与实战15IIS部署

如上图,输入完配置信息后,点击“确定”按。系统会弹出如下提示框:

Python开发入门与实战15IIS部署

“要为此可执行文件创建 FastCGI 应用程序吗? 单击“是”将此项添加到 FastCGI 集合中,以及允许此可执行文件作为 FastCGI 应用程序运行。”

点击[是]

15.6. 修改我们的web.config文件只保留如下代码

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated web.config for Microsoft Azure. Remove this comment to prevent
     modifications being overwritten when publishing the project.
-->
<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
    <add key="PYTHONPATH" value="%ROOTDIR%" />
    <add key="DJANGO_SETTINGS_MODULE" value="mysite.settings" />
  </appSettings>

</configuration>

完成部署,在IIS管理器中重新启动mysite站点。

15.7. 访问发布的网站

Python开发入门与实战15IIS部署

我们访问基于模板的页面,页面是能正常访问的,但是访问基于Extjs的inventoryQueryExtjs页面,页面不能正常显示。这是Extjs相关的静态文件目录没有正常部署的缘故。

15.8. 静态文件部署

根据setting.py静态文件目录的配置,我们项目目录下创建一个static的文件目录

Python开发入门与实战15IIS部署

在cmd命令窗口进入到项目目录下,执行命令:

python manage.py collectstatic

Python开发入门与实战15IIS部署

然后,在iis管理器mysite站点下添加static虚拟目录:

Python开发入门与实战15IIS部署

注:最后删除虚拟目录处理程序映射中的Django handler处理器。

Python开发入门与实战15IIS部署

我们再访问网站的inventoryQueryExtjs页面,页面正常显示,现在完成了示例网站的IIS发布工作。

Python开发入门与实战15IIS部署

15.9. 小结

本章节我们完成了在IIS平台部署我们的django项目,采用的是“处理程序映射”的Fast CGI来实现django项目的解析处理。下一章节我们将描述如何部署django 的windows apache平台。

更多相关文章
  • 作者:田逸([email protected]) 按:这是一篇命题作文,是应一位同行兄弟的邀请而作此文.他告诉我,目前他跟开发的关系有些僵持,希望能我能发表一些看法.尽管我不一定能给出好的建议,但我觉得这个事情应该具有一定的普遍性,于是就答应写一篇文字,权作抛砖引玉. 总所周知,一个网站或者一个项目要创建和运 ...
  • 写这个是因为很长时间以来,碰到过很多次这个问题,但都没当回事,这次又碰到了这个老问题,无奈百度了一圈儿未果,身边又没有大牛可以请教,就自己先“总结”了一套方法,一来给自己记录,二来如果碰巧能有朋友看到并为他解决了同样的困扰我将感到很爽.     起因:凡是网络程序,Coder似乎不可避免要碰到,你的 ...
  • 中国的交通法规定红绿色盲不能驾车,理由是他们可能无法准确辨别红绿灯.针对这一问题,我认为可以通过一个装置来辅助他们识别红绿灯. 这个装置的原理: (1)这个装置基于raspberry pi 微型电脑,它携带着一个摄像头和一个小屏幕. (2)摄像前朝向开车的方向.它随时捕捉红绿灯的影像,一旦发现红绿灯 ...
  • 1.正确区分函数和方法: 面向对象的语言叫做方法,面向过程的语言叫做函数,两者的意义是一样的,只是叫法不同.java是面向对象的语言,所以用方法. 2.方法的定义: 就是有名字的代码段 3.方法的目的: 就是为了代码的重用. 相同的类型操作不容重复的写代码.如果在代码中,重复的写了很多相似的代码,代 ...
  • 面对突如其来的疾病,医院和病人常常措不及防,时间上的延误常常造成病人丧生.在未来,科技可能会扮演医疗先知的角色,将这种悲剧发生的几率降至最低. 据商业周刊的报道,卡罗莱纳州的医疗系统开始利用大数据进行高危病人的医疗防范,它们针对高风险病人将200万人的用户数据融入一套算法,评估发病几率,从而实现在病 ...
  • 最近看到很多大牛发sqlmap的视频教程. 然后偶就屁颠屁颠滚去下了一个,然后尼玛,一连从头看到尾......各种科普啊,看视频有点浪费时间. 各位别去被坑爹了,来个sqlmap 简易教程算了,何必浪费看视频的时间. sqlmap 再牛逼也就是个python的脚本,脚本再牛逼也得有–help -hh ...
一周排行
  • 1.环境说明 系统版本:ubuntu14.04 LVS服务器:14.17.64.3 真实服务器:14.17.64.2 VIP:14.17.64.13 部署目的:用户请求14.17.64.13的报文转发至14.1 ...
  • 除了IntelliTrace之外,Visual Studio 2010的各种新功能都没有什么亮点.IntelliTrace给调试提供了一种新方法.在Visual Studio 2010中,这是最重要的改进,它可以在两 ...
  • zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法: zendstudio 时常 无法ctrl+左键 跳转 到函数源 代码 是创建工程的方式造成的,很有可能是把先前存在的工程以file的形式 ...
  •  现在搞开发,很难不碰到http和socket了,原以为这些东西应该是一个基础课程,不过最近例行走读了一些旧代码,发现一些代码存在着明显的瑕疵,因为很多逻辑处理过程不在同一个水平线上,感觉可能是一些基础理论上的理解导 ...
  • 题意: 轮廓跟踪 算法题中已经提供 保证所有有轮廓的图形里面都没用洞 像素小于5的图形算噪声 将所有图形的轮廓大小排序输出 思路: 模拟题 逻辑好就行了 首先要bfs 判断那些图形是一块 同时将噪声扔掉 然后就是实现 ...
  • 年轻的我们,需要一次说走就走的旅行,因为年轻对于我们来说只有一次,一定要好好的挥霍,记住青春不在的时候不要叹息 效果如下: ♚ [甜瓜不会不甜] [柠檬不会不酸] [薄荷不会不凉] [芥末不会不呛] [地球不会不转] ...
  • Word作为在日常使用MS Office办公软件的办公族中最为熟悉的一员,得到了很大程度的应用(当然还包括了强大的Excel).在这篇文章里你可能找到一些操作的技巧. Q1:当从网页上复制过来的文章中有很多超链接时作 ...
  • windows漏洞价值分类排名,因为是分类排名,所以不代表单个漏洞价值,单个漏洞价值会根据具体漏洞在此基础上调整排名: 1.底层基本api或者结构漏洞.这种漏洞有的可以勉强说不是一个漏洞,而是一类漏洞了.最有代表的是 ...
  • 下面是最近对公司研发管理的一些思考,和大家一起讨论. 一:关于敏捷: 1)敏捷是否适合电信行业? 对于想互联网这样"小而快"的行业,敏捷开发无疑是适合的.但是对于电信行业这种"大而笨&q ...
  • 今天要写一个前端的东西.每多学一点知识,就可以少写几行代码.几十行代码.几个文件量的代码--这是真的.一直对前端的研究都是停留在遇到问题百度谷歌答案的做法.今天遇到这样一个问题:已经写好的js代码,对ajax加载的h ...