Windows上Python3.6环境django部署到Apache服务器

               原创                                2017年07月05日 19:55:00            


最近在部署一个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文件:

[plain] view plain copy

  1. Define SRVROOT "/Apache24"  #把此处改为安装路径如Define SRVROOT "D:\Program Files\Apache24"  

  2. ServerRoot "${SRVROOT}"  

启动bin/httpd.exe程序如没有任何输出则配置成功

通过浏览器访问locahost

3.安装mod_wsgi

1.下载mod_wsgi Python的插件 http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi


如 mod_wsgi4.5.15+ap24vc14cp36cp36mwin_amd64.whl

  i. 这个插件对应的Apache版本是24 VC是14

 ii. Python版本是3.6

  iii. 64位系统

在下载时要选择相应的版本,否则Apache启动时会有问题

2. 下载后后缀名改为.zip进行解压,但是解压后找不到mod_wsgi.so文件

3.把下载的.whl文件复制到python\Scripts下使用

[plain] view plain copy

  1. pip3 install "mod_wsgi-4.5.15+ap24vc14-cp36-cp36m-win_amd64.whl"  

进行安装在安装成功后在python的安装目录的\scripts文件夹下运行

[plain] view plain copy

  1. mod_wsgi-express module-config  

输出如下三行结果

把这三行内容复制到http.cnf文件下进行配置

[plain] view plain copy

  1. LoadFile "d:/program files/python36/python36.dll"  

  2. LoadModule wsgi_module "d:/program files/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"  

  3. WSGIPythonHome "d:/program files/python36"  

再次启动服务器即可

4.配置Apache和django项目

[plain] view plain copy

  1. #mod_wsgi设置  

  2. LoadFile "d:/program files/python36/python36.dll"  

  3. LoadModule wsgi_module "d:/program files/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"  

  4. WSGIPythonHome "d:/program files/python36"  

  5. #指定website的wsgi.py配置文件路径  

  6. WSGIScriptAlias / E:/Python/website/web/wsgi.py  

  7. #指定项目路径  

  8. WSGIPythonPath  E:/Python/website  

  9. <Directory E:/Python/website>  

  10. <Files wsgi.py>  

  11.     Require all granted  

  12. </Files>  

  13. </Directory>  

再次启动Apache24/bin/httpd.exe程序即可