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文件:

[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_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下使用

[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>  

  14. #static path
  15. Alias /static E:/Django_Workspace/labsite/bigdata/static
  16. <Directory E:/Django_Workspace/labsite/bigdata/static>
  17. AllowOverride None
  18. Options None
  19. Require all granted<
  20. /Directory>

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

猜你喜欢

转载自blog.csdn.net/laikaikai/article/details/80178878