Win7/Apache/Python2.7/Django1.9部署Web
 
环境:
Windows7
Apache httpd-2.4.16-win64-VC14
Python2.7.11
Django1.9.7
 
1、安装Apache
1)下载相关组件
 
步骤参照http://blog.csdn.net/qq_15096707/article/details/47319545
 
从官网 http://httpd.apache.org 下载Apache
Files for microsoft windows -> Apache Lounge -> httpd-2.4.16-win64-VC14
 
下载完成之后,我们要做的是解压该文件到自定义的目录,找到Apache24中的bin目录,打开 ApacheMonitor.exe
 
如果ApacheMonitor.exe不能运行,提示缺少文件,如缺少 vcruntime140.dll文件,安装响应的VC库,我安装了vc_redist.x64(VC2015)
 
2)修改httpd.conf配置文件
 
37行: ServerRoot "apache目录" (e.g. 'c:/apache24' 改为 e:/apache34)
ServerRoot "e:/Apache24"
 
219行:ServerName 服务器名称 (e.g demo.app.com or 127.0.0.1)去掉# (这里也可以填 localhost)
ServerName 127.0.0.1
 
243行: DocumentRoot 修改网站根目录地址
DocumentRoot "e:/Apache24/htdocs"
 
244行:<Directory "网站根目录地址">
<Directory "e:/Apache24/htdocs">
 
360行:ScriptAlias /cgi-bin/ "apache目录+/cgi-bin/"
ScriptAlias /cgi-bin/ "e:/Apache24/cgi-bin/"
 
376行:<Directory "apache目录+/cgi-bin/">
<Directory "e:/Apache24/cgi-bin">
 
3)使用命令行cmd安装Apache服务
 
在管理员模式下启动命令行,然后cd到apache/bin目录下运行
httpd -k install
 
如果重启或卸载
#重启服务
httpd -k restart
 
#卸载服务
httpd -k uninstall
 
4)启动和测试
启动Apache服务成功后,打开 ApacheMonitor.exe,点击start,成功启动服务
为了测试是否真的成功,可以在浏览器上输入  http://localhost/ 
出现“It works”
 
2、部署Django
参照了http://blog.csdn.net/yingmutongxue/article/details/43985559
 
1)下载mod_wsgi组件
下载链接http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
选择对应python2.7和64位系统的版本
mod_wsgi-4.4.23+ap24vc9-cp27-cp27m-win_amd64.whl
解压出mod_wsgi.so后放于apache24/module文件夹下
 
一开始我下载了该组件的错误版本导致apache服务无法启动
在命令行启动,输入命令
httpd -w -n “apache2.4” -k start
会在屏幕上显示错误信息
Cannot load modules/mod_wsgi.so into server
换成正确版本后不再报错
 
2)修改配置文件httpd.conf
#添加mod_wsgi.so模块  
LoadModule wsgi_module modules/mod_wsgi.so
 
在文档尾部添加
#指定myweb项目的wsgi.py配置文件路径 
WSGIScriptAlias / "E:/code/wljk_workshop/wljk_workshop/wsgi.py"
 
#指定项目路径 
WSGIPythonPath "E:/code/wljk_workshop"
 
<Directory E:/code/wljk_workshop>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
 
Alias /statics E:/code/wljk_workshop/statics
<Directory E:/code/wljk_workshop/statics>
Require all granted
</Directory>
 
3)设置settings.py
DEBUG = False   
TEMPLATE_DEBUG = False
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
 
4)排错
以上设置后还是无法启动服务器,查看apache24/logs/error
[Thu Jun 30 18:30:54.678499 2016] [mpm_winnt:notice] [pid 1776:tid 300] AH00455: Apache/2.4.16 (Win64) mod_wsgi/4.4.23 Python/2.7.11 configured -- resuming normal operations
[Thu Jun 30 18:30:54.678499 2016] [mpm_winnt:notice] [pid 1776:tid 300] AH00456: Apache Lounge VC14 Server built: Jul 22 2015 13:24:19
[Thu Jun 30 18:30:54.678499 2016] [core:notice] [pid 1776:tid 300] AH00094: Command line: 'E:\\Apache24\\bin\\httpd.exe -d E:/Apache24'
[Thu Jun 30 18:30:54.678499 2016] [mpm_winnt:notice] [pid 1776:tid 300] AH00418: Parent: Created child process 5868
ImportError: No module named site
[Thu Jun 30 18:30:55.068500 2016] [mpm_winnt:crit] [pid 1776:tid 300] AH00419: master_main: create child process failed. Exiting.
 
报错AH00419: master_main: create child process failed
参考http://stackoverflow.com/questions/34440078/apache24-x86-vc9-with-mod-wsgi-says-ah00419-master-main-create-child-process/35767105
 
配置中添加:
WSGIPythonPath "E:/code/wljk_workshop;E:/Python27/Lib;E:/Python27/Lib/site-packages;E:/Python27/DLLs"
WSGIPythonHome "E:/Python27"
 
服务器启动成功,访问网站成功。
但是此时只能本地访问,在其他终端访问时返回400 Bad request
 
修改settings.py
ALLOWED_HOSTS = ['*']
访问成功
 

Windows下Apache部署Django过程记录的更多相关文章

  1. Windows下Apache+mod_python+Django配置

    Windows下Apache+mod_python+Django配置 Apache 首先要安装Apache,我安装的版本是2.2.*: Python python肯定是要安装的,我安装的版本是2.5的 ...

  2. windows下apache + mod_wsgi + python部署flask接口服务

    windows下apache + mod_wsgi + python部署flask接口服务 用python3安装虚拟环境 为啥要装虚拟环境? 原因1:安装虚拟环境是为了使项目的环境和全局环境隔离开,在 ...

  3. apache部署django记录

    在ubuntu下通过apache部署django 首先需要下载python,django,apache以及wsgi模块 python基本已经自带,我用的是2.7,不是的话可以重新装一个 下载djang ...

  4. windows下apache+https环境配置

    windows下apache+https环境配置 转 https://www.cnblogs.com/sandaizi/p/7519370.html 1.修改配置文件conf/httpd.conf,去 ...

  5. Windows下apache+tomcat负载均衡

    Windows下apache+tomcat负载均衡 网上已经有很多的资料,但是很多都比较零碎,需要整合一起才能搭建出理想的负载均衡,正好前段时间搭建了windows与linux下的负载均衡,在此记录, ...

  6. MySQL5.7.25(解压版)Windows下详细的安装过程

    大家好,我是浅墨竹染,以下是MySQL5.7.25(解压版)Windows下详细的安装过程 1.首先下载MySQL 推荐去官网上下载MySQL,如果不想找,那么下面就是: Windows32位地址:点 ...

  7. Apache Windows下Apache安装步骤

    1.apache官网下载Apache HTTP Server服务器 我相信有些朋友刚用apache服务器时,都希望从官网上下载,而面对着官网上众多的项目和镜像以及目录,也许有点茫然.下面是具体步骤: ...

  8. Windows server iis部署Django详细操作

    教程基于Windows server2012+Python3.6+IIS之上部署django的,同样适用于server2012之上的版本服务器和windows7以上的windows操作系统. 文章来自 ...

  9. Windows下Apache应用环境塔建安全设置(目录权限设置)

    目的:为Apache,php配置受限制的用户权限.保护系统安全.需要的朋友可以参考下. 环境配置情况: apache安装目录:d:\www-s\apache php目录:d:\www-s\php5 m ...

随机推荐

  1. CodeForces 689A -Mike and Cellphone

    题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=412142 题目大意: 给定一个0-9数字键盘,随后输入一个操 ...

  2. 动态规划——J 括号配对问题

    J - 括号匹配 Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  3. RAII(Resource Acquisition Is Initialization)资源获得式初始化

    当在编写代码中用到异常,非常重要的一点是:“如果异常发生,程序占用的资源都被正确地清理了吗?” 大多数情况下不用担心,但是在构造函数里有一个特殊的问题:如果一个对象的构造函数在执行过程中抛出异常,那么 ...

  4. Threading Module源码概述(二)

    在threading 模块中,提供了列举当前所有子线程的操作.threading.enumerate.这个操作很简单,就是将_active和_limbo中维护的线程集合的信息输出. def enume ...

  5. hdoj 2085 核反应堆【水】

    核反应堆 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. JavaScript中的[]和{}

    最早开始对js中括号的使用有疑问是在交互2值的时候: a = [b,b=a][0]; 详见JavaScript交换两个变量值的七种解决方案 因为 [[]][0] 的意思是:获取 [[]] 的第一个元素 ...

  7. linux Tomcat restart脚本简单版

    linux系统下重启tomcat的shell脚本: tomcat_home=/opt/apache-tomcat-6.0.32  #找到tomcat进程的id并kill掉 ps -ef |grep t ...

  8. slidingmenu+fragment实现经常使用的側滑效果(包含Fragment状态的保存)

    一.需求 关于fragment的问题,一直想写一篇博客了.应该当初自己也是对这玩意一点都不熟悉到如今也大概知道个日常的使用的地步. 一个側滑的导航栏,内有4个条目.每个选项点击进入相应的界面,每个界面 ...

  9. cocos2dx 自己主动加入cpp文件到android.mk

    将 LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorldSce ...

  10. 用crontab设置svn的定期更新任务

    本以为用crontab设置svn的定期更新任务是件非常容易的事情,实践后方才知道,其实并不那么容易.设置例行性工作如下:0 8 * * * /usr/bin/svn up /data/test第二天, ...