开发环境
- Windows 10 x64
- Apache 2.4 x64
- Python 2.7.11 x64
- Django 1.9.6+
下载和安装mod_wsgi
到
http://download.csdn.net/download/copter/9192361
下载mod_wsgi.so
由于没有Python3.5的mod_wsgi.so,所以就用了Python2.7的。
选择对应的mod_wsgi.so,拷贝到Apache24\modules下。
修改apache2.4的http.conf文件,在大约183行那里
# 添加mod_wsgi.so 模块
LoadModule wsgi_module modules/mod_wsgi.so
下面以一个Django项目为例,添加到Apache中去。
添加Django项目
打开Apache24\conf下的httpd.conf文件,在末尾添加下面配置
# 指定静态资源路径
Alias /static "F:\Django\HelloWorld\static"
<Directory "F:\Django\HelloWorld\static">
Require all granted
</Directory>
# 指定项目的wsgi.py配置文件路径
WSGIScriptAlias / F:\Django\HelloWorld\HelloWorld/wsgi.py
<Directory F:\Django\HelloWorld\HelloWorld>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#指定项目路径
WSGIPythonPath "F:\Django\HelloWorld"
#WSGIPythonPath "C:\Python27\Lib;C:\Python27\Lib\site-packages;C:\Python27\DLLs"
WSGIPythonHome "C:\Python27"
配置Django工程
配置django工程setting.py
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
启动运行
之后重启Apache,访问http://127.0.0.1:8081/admin/
显示上面页面表示部署成功。
排错
Apche 启动的时候报错会有log, Apache24\logs目录 error信息,慢慢排错。
注意事项
Apache2.2与2.4一些指令的区别
在Apache2.2
Order allow,deny
Allow from all
等价于在Apache2.4:
Require all granted
mod_wsgi.so for 2.7.6
前面安装的mod_wsgi.so是为2.7.6编译的,使用2.7.6以上版本运行也没问题,只是日志记录会出现警告
[Wed Apr 19 11:18:05.374319 2017] [:warn] [pid 3656:tid 76] mod_wsgi: Compiled for Python/2.7.6.
[Wed Apr 19 11:18:05.377322 2017] [:warn] [pid 3656:tid 76] mod_wsgi: Runtime using Python/2.7.11