设为首页 收藏本站
查看: 646|回复: 0

[经验分享] Windows下Apache部署Django过程记录

[复制链接]

尚未签到

发表于 2017-6-29 11:08:28 | 显示全部楼层 |阅读模式
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 = ['*']
访问成功

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389265-1-1.html 上篇帖子: windows redis:Uncaught exception 'RedisException' with message 'Redis server wen 下篇帖子: 背水一战 Windows 10 (39)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表