本文参考自 https://blog.csdn.net/u012846792/article/details/77712958
部署apache + django的话,首先要将apache和python的位数一致,我的是python3.7 64位的,所以我下载的是64位的apache
- 下载Apache (位数与实际环境安装的Python位数一致) 下载链接:https://www.apachehaus.com/cgi-bin/download.plx
我下载的是Apache2.4 VC14版本
- 下载 mod_wsgi python 的插件: http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
下载与所安装 apache 版本位数和python 版本位数必须匹配
因为我上一步下载的是 Apache2.4VC14 并且我的Python版本是 3.7(x64) 所以在这我下载的是mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win_amd64.whl
- 下载完成后,安装Apache与Python扩展
- 安装Python扩展
$ pip install mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win_amd64.whl
- 运行module-config,并复制返回的结果
$ mod_wsgi-express module-config
我的返回值:
LoadFile "c:/users/sby/appdata/local/programs/python/python37/python37.dll"
LoadModule wsgi_module "c:/users/sby/appdata/local/programs/python/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/users/sby/appdata/local/programs/python/python37"
- 编辑apache的配置文件 httpd.conf
把如上返回值,复制到httpd.conf中的模块加载位置
图片.png
- 指定项目路径和项目的wsgi.py配置文件路径
WSGIScriptAlias / E:/sby/pros/grade/grade/wsgi.py
Alias /static/ E:/sby/pros/grade/static/
<Directory E:/sby/pros/grade/static>
Require all granted
</Directory>
<Directory E:/sby/pros/grade/grade>
<Files wsgi.py>
Require all granted
setHandler wsgi-script
</Files>
</Directory>
WSGIPythonPath "E:/sby/pros/grade/grade"
- 安装Apache服务
以管理员身份运行CMD。进入到apache的bin目录下,运行 httpd -k install安装apache服务,安装成功后,输入net start httpd 运行服务
网友评论