Windows上Python3.6环境django部署到Apache服务器
最近在部署一个django项目到Apache服务器上遇到了不少问题现整理个完整流程
1.准备工作
python版本:python3.6.1 64位
django版本:django 1.11.2
Apache版本:2.4.26 64位
2.安装Apache
apache官方网站http://httpd.apache.org/
根据自己的环境选择相应的版本进行下载
把下载后的安装包解压到安装路径修改conf/httpd.conf文件:
- Define SRVROOT "/Apache24" #把此处改为安装路径如Define SRVROOT "D:\Program Files\Apache24"
- ServerRoot "${SRVROOT}"
启动bin/httpd.exe程序如没有任何输出则配置成功
通过浏览器访问locahost
3.安装mod_wsgi
1.下载mod_wsgi Python的插件 http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
如 mod_wsgi‑4.5.15+ap24vc14‑cp36‑cp36m‑win_amd64.whl
i. 这个插件对应的Apache版本是24 VC是14
ii. Python版本是3.6
iii. 64位系统
在下载时要选择相应的版本,否则Apache启动时会有问题
2. 下载后后缀名改为.zip进行解压,但是解压后找不到mod_wsgi.so文件
3.把下载的.whl文件复制到python\Scripts下使用
- pip3 install "mod_wsgi-4.5.15+ap24vc14-cp36-cp36m-win_amd64.whl"
- mod_wsgi-express module-config
把这三行内容复制到http.cnf文件下进行配置
- LoadFile "d:/program files/python36/python36.dll"
- LoadModule wsgi_module "d:/program files/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
- WSGIPythonHome "d:/program files/python36"
再次启动服务器即可
4.配置Apache和django项目
- #mod_wsgi设置
- LoadFile "d:/program files/python36/python36.dll"
- LoadModule wsgi_module "d:/program files/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
- WSGIPythonHome "d:/program files/python36"
- #指定website的wsgi.py配置文件路径
- WSGIScriptAlias / E:/Python/website/web/wsgi.py
- #指定项目路径
- WSGIPythonPath E:/Python/website
- <Directory E:/Python/website>
- <Files wsgi.py>
- Require all granted
- </Files>
- </Directory>
- #static path
- Alias /static E:/Django_Workspace/labsite/bigdata/static
- <Directory E:/Django_Workspace/labsite/bigdata/static>
- AllowOverride None
- Options None
- Require all granted<
- /Directory>