近期有个项目需要部署生产环境,使用APACHE+WIN2008+DJANGO1.9,在网络上找了很多教程,都有疏漏或不完整的地方,整合自己在部署过程中发现的问题做了以下整理:
1.APACHE(httpd-2.4.27-Win64-VC15)
apache安装参考http://jingyan.baidu.com/article/d8072ac47baf0eec95cefdca.html
安装过程中可能出现的以下问题:
a.ServerName localhost:80 未配置
b.安装完先试试localhost访问是否正常。
2.PYTHON 安装(python2.7.11,64位)
下载的msi包,双击安装即可,检查环境变量配置。
3.DJANGO1.9+WSGI,需要添加模块mod-wsgi模块,该模块的安装可能会有问题。
a.我直接下载了安装脚本mod_wsgi-4.5.17,脚本在https://pypi.python.org/pypi/mod_wsgi/。安装过程中会提示错误,那是因为未设置apache地址,打开cmd,set "MOD_WSGI_APACHE_ROOTDIR=D:\Downloads\Apache24",之后再执行python setup.py install则正常。
b.参考http://blog.csdn.net/shouwangzhelv/article/details/49969217,配置django1.9。
c.设置apache加载mod_wsgi.so 模块,主要配置如下:
配置Apache即编辑Apache安装目录conf文件夹下的httpd.conf文件,在文件最后添加如下内容:
LoadModule wsgi_module modules/mod_wsgi.so
** WSGIPythonHome "D:/Python27"**
WSGIScriptAlias / "H:/web/web/wsgi.py"
WSGIPythonPath "H:/web/web"
Require all granted
Alias /static "H:/web/trans/static"
AllowOverride None
Options None
Require all granted
d.在配置完apache后启动可能会出现403无权访问的错误,是因为几个目录的权限问题
<Directory "D:/Apache24/htdocs">
Require all granted
<Directory>
<Directory "D:/Apache24/cgi-bin">
AllowOverride None
Options None
Require all granted
<Directory>
在win2008 运行django1.9过程中也有出现缺少vc编译器的情况,需要下载VCForPython27.msi
https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msi
4.DJANGO1.9安装过程中有要求把setting.py中DEBUG = False,这时如果你启动了apche会发现所有的静态文件都失效了,当设置DEBUG = True,又都可以访问了,这时不需要太过担心,DEBUG = False,表明不使用调试模式,这时候的静态文件需要通过apache或者nginx设置,所以,请检查web服务中的静态文件地址配置是否正确。
总结: 在apache启动过程中如果出现什么错误,注意查看apache logs目录中的错误提示,可以很方便的定位到问题。