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部署的更多相关文章

  1. Python开发入门与实战1-开发环境

    1.搭建Python Django开发环境 1.1.Python运行环境安装 Python官网:http://www.python.org/ Python最新源码,二进制文档,新闻资讯等可以在Pyth ...

  2. Python开发入门与实战8-基于Java的集成开发环境

    8. 基于Java的Python的集成开发环境 目前为止我们所有的代码和例子都是通过Notepad文本编辑器来实现的,实际项目开发中这种编码模式效率较低(大虾除外),使用IDE集成开发环境常常大幅度的 ...

  3. Python开发入门与实战17-新浪云部署

    17. 新浪云部署 上一章节我们介绍了如何在本地windows服务器部署python django的网站,本章我们简要说明一下如何把python django工程部署到云服务上. 本章章节我们描述如何 ...

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

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

  5. Python开发入门与实战19-Windows Azure web 应用部署

    19. 微软云web应用部署 上一章节我们介绍了如何实现在微软云通过虚拟机部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署通过部署网站的方式来部署我们的应 ...

  6. Python开发入门与实战18-Windows Azure 虚拟机部署

    18. 微软云虚拟机部署 上一章节我们介绍了如何在新浪云部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署我们的应用. 18.1. 注册Windows Az ...

  7. Python开发入门与实战2-第一个Django项目

    2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...

  8. Python开发入门与实战14-基于Extjs的界面

    14. 基于Extjs的界面 上一章我们实现了一个原生的html例子,本章我们将采用Extjs实现界面的展现,来说明MVC模式下我们是怎么考虑界面与业务层的关系的. 14.1. 引用Extjs目录 首 ...

  9. Python开发入门与实战13-基于模板的界面

    13. 基于模板的界面 本章我们将继续基于库存的简单例子来阐述如何在python django中体现MVC的架构,根据djangobook说明: M:数据存取部分,由django数据库层处理,本章要讲 ...

随机推荐

  1. JQuery_元素属性操作

    除了对元素内容进行设置和获取,通过jQuery 也可以对元素本身的属性进行操作,包括获取属性的属性值.设置属性的属性值,并且可以删除掉属性. <script type="text/ja ...

  2. jquery on 绑定多个事件 多个元素

    $('.wrap').on({ click:function(){ //事件1 ...... }, keyup:function() { //事件2 ....... }, keydown:functi ...

  3. CentOS 程序开机自启动方法总结

    1.把启动程序的命令添加到/etc/rc.d/rc.local文件中 CentOS系统下管理开机自启动的配置文件是/etc/rc.d/rc.local,所以只需编辑这个文件,在里面加入相应的启动命令即 ...

  4. virtualbox安装增强功能(centos6.5)

    vitualbox安装增强功能(centos 6.5) 1. 安装依赖包 #yum install kernel-headers-$(uname -r) #yum install kernel-dev ...

  5. cookie详解

    一.cookie详解 (1)设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="userId ...

  6. 断言(assert)的用法

    我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”. 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解 ...

  7. Android开发--Adapter的应用

    1.简介 Adapter的作用是为GridView,ListView等界面控件与数据之间搭建桥梁,每当列表里的每一项显示到页面时,都会调用到Adapter的getView方法 返回一个View.在An ...

  8. MVC5+EF6 入门完整教程九

    前一阵子临时有事,这篇文章发布间隔比较长,我们先回顾下之前的内容,每篇文章用一句话总结重点. 文章一 MVC核心概念简介,一个基本MVC项目结构 文章二 通过开发一个最基本的登录界面,介绍了如何从Co ...

  9. 二:基础概述netty

    如果不了解netty的,可以百度下,netty社区现在也比较活跃. 现在所谓的大数据,flume,storm等底层都是netty.   netty的性能模型: io模型---->异步非阻塞io ...

  10. EF6 CodeFirst+Repository+Ninject+MVC4+EasyUI实践(八)

    前言 本篇幅将对系统的菜单管理模块进行说明,系统的菜单采用树形结构,这样可以更好地方便层级设计和查看.本示例将说明如何通过EntityFramework读取递归的菜单树形结构,以及结合EasyUI的t ...