部署django - Apache + mod_wsgi + windows

1、环境

2、安装apache 32位
 
3、安装mod_wsgi
注意,因为apache是32位的,所以mod_wsgi也应该选择32位的。mod_wsgi的官网在这里(https://code.google.com/p/modwsgi/)。但是因为没有windows编译版本(自己编译几乎都是以失败告终),所幸在这里可以下载到编译版本(http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi),我们选择mod_wsgi-3.4.ap24.win32-py3.3.zip进行下载。
下载过mod_wsgi之后,解压之后的文件为“mod_wsgi.so”文件。我们拷贝它到apache安装目录下面的modules文件夹。
光拷贝mod_wsgi.so文件是不行的,我们还需要修改apache的配置文件,让apache知道mod_wsgi的存在。apache的配置文件在apache安装目录下的conf文件夹中的httpd.conf文件。使用记事本或者任何你喜欢的文本编辑器打开它,在文件的最后添加下面的内容并保存就可以了:
LoadModule wsgi_module modules/mod_wsgi/mod_wsgi.so
 
3、配置django project
第一步,你要有个django projec,如果你这是想尝试一下如何部署而没有项目的话,可以在到我的github上下载一个https://github.com/liulixiang1988/python_study_case
django project的目录结构如下:
 
第二步 修改wsgi.py文件
原以为wsgi.py不需要修改的,可是发现如果不将目录所在的文件夹添加到系统路径中,apache还是会报错,因此在wsgi.py添加下面2行
import sys
sys.path.append('E:/git/python_dev/python_study_case/django/mydjangosite') 
其中append的参数就是你的project下的目录

第三步 配置apache/conf/httpd.conf文件
打开httpd.conf文件,在后面添加下面内容
 
#添加映射,其中WSGIScriptAlias /是映射到根目录,如果你需要映射到其他地址,可以改为WSGIScriptAlias /myproject (假设myproject是你想要的地址,那么你可以通过访问localhost/myproject来访问你的网站)
WSGIScriptAlias / E:/git/python_dev/python_study_case/django/mydjangosite/mydjangosite/wsgi.py
#指明应用路径,如果你是使用virtualenv,那么还需要添加virtualenv的site-packages路径,中间用":"分隔
WSGIPythonPath E:/git/python_dev/python_study_case/django/mydjangosite:E:/git/python_dev/envs/django/Lib/site-packages
#添加wsgi的读取权限

<Directory E:/git/python_dev/python_study_case/django/mydjangosite/mydjangosite>
     <Files wsgi.py>
          Order deny,allow
          Require all granted
     </Files>
</Directory>

 
#这里声明静态文静的映射,这个/static是给django admin的静态文件使用的

Alias /static "C:/Python33/Lib/site-packages/django/contrib/admin/static"
#这里是添加文件夹的读取权限,注意apache2.3以上的读写设置与2.3以下版本有所不同
<Directory "C:/Python33/Lib/site-packages/django/contrib/admin/static/"> 
    <IfVersion < 2.3 >
        Order allow,deny
        Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
        Require all granted
    </IfVersion> 
</Directory>
 
4、启动apache
打开cmd,定位到apache安装目录下面的bin目录,输入httpd就可以启动服务器了,此时你就可以在你的浏览器中访问localhost了
 
5、需要改进的地方
因为工作中使用的是asp.net,对apache不熟,所以对虚拟主机的配置以及mod_wsgi的运行模式的理解还不是特别透彻,也是下一步需要学习的方向。
 
6、致谢与参考
首先感谢那些为提供这些优秀开源工程的程序员们;其次在学习如何部署的过程中,下面两篇文章对我的帮助很大,在这里再次说声谢谢!
 
7、最后
如果你觉得这篇文章对你比较有帮助,或者有什么问题,亦或你想给我介绍一份工作,欢迎给我留言或者email:liulixiang1988@gmail.com 

部署django - Apache + mod_wsgi + windows的更多相关文章

  1. CentOS6下配置Django+Apache+mod_wsgi+Sqlite3过程

    0. 安装环境: CentOs版本:      VMWare中CentOs 6.4 Apache版本:      Httpd 2.2.15 http://httpd.apache.org/ Sqlit ...

  2. Win7下配置Django+Apache+mod_wsgi+Sqlite

    搭建环境: win7 64位 Django 1.8.5 Apache2.4.17 mod_wsgi_ap24py27.so Python2.7.9 1 安装Apache 下载Apache Haus版, ...

  3. Windows环境下,将Django部署到Apache Web Server

    在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. 环境搭建                                   ...

  4. Django部署到Apache Web Server

    Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...

  5. nginx + uwsgi 部署 Django+Vue项目

    nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用dj ...

  6. Windows下Apache部署Django过程记录

    Win7/Apache/Python2.7/Django1.9部署Web   环境: Windows7 Apache httpd-2.4.16-win64-VC14 Python2.7.11 Djan ...

  7. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

  8. CentOS7.4 部署 Django + Python3 + Apache + Mod_wsgi

    安装环境 Remote: CentOS 7.4 x64 (django.example.com) Python: Python3.6.5 Apache: Apache 2.4.6 Mod_wsgi: ...

  9. Flask + mod_wsgi + Apache on Windows 部署成功(随时接受提问)

    前言 说是前言,纯粹就是吐槽. 假设你赶时间.全然能够跳过这部分,我保证不会在这里隐藏不论什么实用的内容. 人上年纪后.可能冲劲不足,我花了大概两周的时间才成功的将flask部署到windows上.还 ...

随机推荐

  1. css 自适应布局阮一峰

    转载一篇文章: 自适应网页设计(Responsive Web Design) 作者: 阮一峰 移动设备正超过桌面设备,成为访问互联网的最常见终端.于是,网页设计师不得不面对一个难题:如何才能在不同大小 ...

  2. 如何从 0 开始学 ruby on rails (漫步版)

    如何从 0 开始学 ruby on rails (漫步版) ruby 是一门编程语言,ruby on rails 是 ruby 的一个 web 框架,简称 rails. 有很多人对  rails 感兴 ...

  3. oracle decode函数用法

    DECODE函数是ORACLE PL/SQL是功能强大的函数之中的一个,眼下还仅仅有ORACLE公司的SQL提供了此函数,其它数据库厂商的SQL实现还没有此功能.DECODE有什么用途 呢? 先构造一 ...

  4. iOS开发-Protocol协议及委托代理(Delegate)传值

    前言:因为Object-C是不支持多继承的,所以很多时候都是用Protocol(协议)来代替.Protocol(协议)只能定义公用的一套接口,但不能提供具体的实现方法.也就是说,它只告诉你要做什么,但 ...

  5. 关于iOS8上本地通知接收不到的问题

    在iOS8系统开发使用本地通知时,会出现如下的相关提示语: 1 Attempting to schedule a local notification2 with an alert but haven ...

  6. 七日筑基——C#第一天(上)

    从今天开始,介绍C#如何入门,其实我们学习任何语言的目标都是为了最终能把自己想像的东西做出来,所以在最开始学习的时候要定准方向,很多人在学习过程中学着学着就变味了.比如我之前有个学生,最开始学习编程的 ...

  7. 在Sharepoint中批量删除大量条目

    在Sharepoint开发中可能需要一次删除成百上千条记录,这时候如果轮询SPList.Items并直接调用该对象的删除方法来删除的话性能极差,会叫你崩溃. 下面介绍一个快速删除大量数据的方法: us ...

  8. HTML系列(一):创建HTML文档

    从本学期开始我打算把我以前学的知识点系统地总结一下,先从HTML开始.(本系列内容总结自博文视点出版社•代码逆袭系列书籍,包括代码片段.) 一.HTML文档类型 HTML版本众多,浏览器如何得知使用的 ...

  9. 虎扯:小众玩物 webkit家的滚动条

    前面的话:对只有一种浏览器支持的属性,就不要出来秀咱前端同学,就像是早些年手机们的充电口一样,集各家所长,咱今天说的是webkit的滚动条样式,视乎只有webkit支持此项定义,有见识的前辈来辩.这玩 ...

  10. C# Best Practices - Define Proper Classes

    Application Architecture Define the components appropriately for the application and create project ...