部署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. linux Bash bug修复记录

  2. 掌握下面常用函数,学php不再难

    一.写入文件 1.打开资源(文件)fopen($filename,$mode) 2.写文件fwrite($handle,$str) 3.关闭文件fclose($handle) 4.一步写入file_p ...

  3. HTML DOM访问

    访问 HTML 元素(节点) 访问 HTML 元素等同于访问节点 您能够以不同的方式来访问 HTML 元素: 通过使用 getElementById() 方法 通过使用 getElementsByTa ...

  4. web前端的发展态势

     以前 作为一个java程序员写的代码主要还是后台的代码,虽然开始的时候前后端都写,但是也是用别人造好的轮子来用,学学html,css,js,jquery,再找一个前端ui框架学学,上手之后我们就可以 ...

  5. Android:广播接收器(BroadCastReceiver)要点随笔。

    @@@描述         广播接收器可以收到 Context.sendBroadcast或者Context.sendOrderedBroadcast发出的意图(intent).   @@@Local ...

  6. 转帖Jmeter中的几个重要测试指标释义

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”.今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅. 如果 ...

  7. 1028: C语言程序设计教程(第三版)课后习题8.2

    Description求方程 的根,用三个函数分别求当b^2-4ac大于0.等于0.和小于0时的根,并输出结果.从主函数输入a.b.c的值.Inputa b cOutputx1=? x2=?Sampl ...

  8. BZOJ 2329: [HNOI2011]括号修复( splay )

    把括号序列后一定是))))((((这种形式的..所以维护一个最大前缀和l, 最大后缀和r就可以了..答案就是(l+1)/2+(r+1)/2...用splay维护,O(NlogN). 其实还是挺好写的, ...

  9. Linux 下 Hadoop java api 问题

    1. org.apache.hadoop.security.AccessControlException: Permission denied: user=opsuser, access=WRITE, ...

  10. selenium + python自动化测试环境搭建--亲测

    环境准备: 1.下载所学安装包: setuptools https://pypi.python.org/packages/2.7/s/setuptools/ selenium https://pypi ...