Python开发入门与实战16-APACHE部署
16. Windows平台apache部署
本章节我们简要的描述一下如何在windows平台部署apache的django站点。
Python Django 项目部署发布到windows apache运行环境:
操作系统:windows 8.1 x64
Python版本:2.7 x86
Django版本:1.4
Apache版本:2.2.4 x86
16.1. 安装Apache环境
Appache下载地址:http://www.apachehaus.com/cgi-bin/download.plx 下载32位apache文件。
注意:由于mod_wsgi.iso不支持64位版本,我们这里全部采用32位版本,包括python 2.7版本。

16.2. 配置Appache Django Mod_Python 环境
解压缩文件夹apache24到C:\Program Files文件夹里,以管理员身份运行命令提示符,进入到C:\Program Files\Apache24\bin目录。运行如下命令,注册apache24服务到服务器。
httpd.exe -k install

16.3. 下载mod_wsgi.so文件
http://code.google.com/p/modwsgi/downloads/list下载所需要的版本,本例下在mod_wsgi‑3.5.ap22.win32‑py2.7.zip版本解压缩得到mod_wsgi.so文件。
把mod_wsgi.so文件拷贝到Apache安装目录下的 modules 文件夹里。
16.4. 配置Appache
1) 在Apache安装配置文件目录Conf\httpd.conf中,增加一行:
LoadModule wsgi_module modules/mod_wsgi.so
2) 再添加一行如下:
WSGIScriptAlias / " C:\My Files\Python Projects\mysite\mysite\mysite\wsgi.py"
上面的配置把Apache解释执行入口文件配置成Python Django工程的wsgi.py文件
3) 项目wsgi.py 增加系统路径
importos,sys
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
4) 找到apache的http.conf文件Directory的配置区域,添加如下的一段配置
<Directory "C:\Program Files\Apache24\mysite\mysite">
Options None
AllowOverride None
Require all granted
</Directory>
5) 重启Aapche即可。

16.5. 静态文件配置
我们还不能正常访问需要静态文件支持的页面inventoryQueryExtjs,接下来我们完成apache的静态文件目录的配置工作。同上我们静态文件收集命令把静态文件收集到工程目录static文件夹,在http.conf文件Directory的配置区域,添加静态文件配置。
<Directory "C:\Program Files\Apache24\mysite\mysite">
Options None
AllowOverride None
Require all granted
</Directory> Alias /static "C:\Program Files\Apache24\mysite\static/"
<Directory "C:\Program Files\Apache24\mysite\static/">
Options None
Require all granted
</Directory>
再访问http://127.0.0.1/inventoryQueryExtjs/ 页面正常显示,我们完成了windows平台Apache服务的部署工作
16.6. 小结
本章节我们简单说明了如何在windows apache平台发布我们的网站,目前为止,我们的发布模式都是本地服务器模式,下一章节将描述如何在“云”上发布我们的服务。
Python开发入门与实战16-APACHE部署的更多相关文章
- Python开发入门与实战1-开发环境
1.搭建Python Django开发环境 1.1.Python运行环境安装 Python官网:http://www.python.org/ Python最新源码,二进制文档,新闻资讯等可以在Pyth ...
- Python开发入门与实战8-基于Java的集成开发环境
8. 基于Java的Python的集成开发环境 目前为止我们所有的代码和例子都是通过Notepad文本编辑器来实现的,实际项目开发中这种编码模式效率较低(大虾除外),使用IDE集成开发环境常常大幅度的 ...
- Python开发入门与实战17-新浪云部署
17. 新浪云部署 上一章节我们介绍了如何在本地windows服务器部署python django的网站,本章我们简要说明一下如何把python django工程部署到云服务上. 本章章节我们描述如何 ...
- Python开发入门与实战15-IIS部署
15. IIS部署 前面的章节我们完成了基本的业务功能的开发,本章节我们来说说python django项目如何部署到实际的运行环境,完成开发系统的发布工作. Python Django 项目部署发布 ...
- Python开发入门与实战19-Windows Azure web 应用部署
19. 微软云web应用部署 上一章节我们介绍了如何实现在微软云通过虚拟机部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署通过部署网站的方式来部署我们的应 ...
- Python开发入门与实战18-Windows Azure 虚拟机部署
18. 微软云虚拟机部署 上一章节我们介绍了如何在新浪云部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署我们的应用. 18.1. 注册Windows Az ...
- Python开发入门与实战2-第一个Django项目
2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...
- Python开发入门与实战14-基于Extjs的界面
14. 基于Extjs的界面 上一章我们实现了一个原生的html例子,本章我们将采用Extjs实现界面的展现,来说明MVC模式下我们是怎么考虑界面与业务层的关系的. 14.1. 引用Extjs目录 首 ...
- Python开发入门与实战13-基于模板的界面
13. 基于模板的界面 本章我们将继续基于库存的简单例子来阐述如何在python django中体现MVC的架构,根据djangobook说明: M:数据存取部分,由django数据库层处理,本章要讲 ...
随机推荐
- PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第二组(转)
四:脱机数据认证-可选终端进行脱机数据认证来,认证卡片.记住:对于某个事情,终端与卡片谁单独也说了不算,要二者都能干才能干. 终端依据卡片(AIP)和终端(终端性能)的支持情况,决定是否使用及使用哪种 ...
- LoadLibrary失败,GetLastError MOD_NOT_FOUND
即使传入的.dll文件存在,也可能返回这个错误.因为加载的DLL库可能以来其他库,尤其是编译器的dll. 以腾讯的debug版libtim.dll为例:如果没有msvcr100d.dll和msvcp1 ...
- npm install报错Error: ENOENT
E:\projects\ueditor\ueditor1_4_3_3-src>npm installError: ENOENT, stat 'C:\Users\Lucas\AppData\Roa ...
- Yii2使用教程
安装 中文文档:http://www.yiichina.com/doc/guide/2.0/start-installation 1,安装 这里我直接下载归档文件,压缩包安装了.composer各种麻 ...
- LoadRunner ERROR: java.lang.NumberFormatException
Loadrunner中使用lr_xml_get_values()获取服务端返回的字符串LcsId,LcsId为double,需要将该值转换为 int 后传入下一次请求中. 报错如下:Error is ...
- archlinux 安装手记
Wiki常用软件 https://wiki.archlinux.org/index.php/Common_Applications -> 移动硬盘等的自动挂载 pacman -S gvfs-af ...
- WDA导出文件XLS,WORD
METHOD ONACTIONEXCEL . DATA: LO_NODE TYPE REF TO IF_WD_CONTEXT_NODE, "Node LO_ELEM TYPE REF TO ...
- 两个div叠加触发事件发生闪烁问题
今天遇到一个问题,想实现一个功能: 当鼠标移到div1上的时候,会出现div2.出现时div2在div1的上面,div2在出现后发生闪烁的问题. 于是开始找问题根源,发现原来是因为当我们触发div1的 ...
- wind取交易日历n day数据
days=AlldaysPeriod=Mw.tdaysoffset(5,'20171212','days=Tradingdays;Period=D')
- nodeType的意思
nodeType是用来获得当前节点对象的类型.nodeType 属性可返回节点的类型.元素element 1 属性attr 2 文本text 3 注释comments 8 ...