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. MFC编程入门之十八(对话框:字体对话框)

    在上一节为大家讲解了文件对话框的使用,本节则主要介绍字体对话框如何应用. 字体对话框的作用是用来选择字体.我们也经常能够见到.MFC使用CFontDialog类封装了字体对话框的所有操作.字体对话框也 ...

  2. sql多表查询时怎么获取查到的字段

    首先,多表查询不能用hql(貌似hql就是不支持多表查询,如果可以,希望看到的朋友给个例子) List list = systemService.findListbySql("SELECT ...

  3. STM32 串口固件库中定义的几个中断标志位什么意思?

    在stm32f10x_usart.h中以上几个宏,很没有规律,诈一看还真不知道为什么会这么定义,其实通过代码就很容易明白: D7~D5:代表中断标志位对应的中断使能位在 CR1.CR2还是CR3寄存器 ...

  4. 搭建nginx+tomcat+Java的负载均衡环境

    转载  未测 供参考 另外这篇文章也不错.http://blog.csdn.net/wang379275614/article/details/47778201 一.简介: Tomcat在高并发环境下 ...

  5. jQurey Plugin

    ; (function ($, window, document, undefined) { "use strict"; var defaults = { name: " ...

  6. 网站过滤器Filter

    实际上,Filter与Servlet及其相似,区别只是FIlter的doFilter()方法里多了一个FilterChain的参数,通过该参数可以控制是否放行用户的请求.网站有了过滤器十分的方便,可以 ...

  7. Ubuntu Server 配置网络

    ------------------ Ubuntu 14.04   x86_64 ----------------- 设置静态IP:vi /etc/network/interfaces. 然后再编辑 ...

  8. Beam Search(集束搜索/束搜索)

    找遍百度也没有找到关于Beam Search的详细解释,只有一些比较泛泛的讲解,于是有了这篇博文. 首先给出wiki地址:http://en.wikipedia.org/wiki/Beam_searc ...

  9. iOS:使用代理模式监听开关状态改变事件

    记一次解决跨控制器监听开关状态改变的尝试. 为了统一设置UITableViewCell里的内容,自定义了UITableViewCell类的一个基类,命名为SettingCell.SettingCell ...

  10. 断言(assert)的用法

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