环境准备
本文将介绍如何在Windows系统上部署Django web项目,本次部署基于下面的架构:
Windows10 64位 + Python3.6 + Django1.11 + Apache2.4 + mod_wsgi
在本文中,我着重介绍在部署Django过程中关于mod_wsgi的安装和在Apache httpd.conf中的关键配置内容,其余部分的安装和配置,可参考本站相关链接内容自行解决。
Python环境
本节比较简单,略过。详见其他教程。
Apache安装与配置
本节略。
安装mod_wsgi和获取其配置信息
进入Python扩展库官网下载mod_wsgi模块:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
放到python的环境中安装即可。
Django与Apache的配置《重点》
一、打开apache的httpd.conf文件修改:
Define SRVROOT "C:/Apache24" # 修改Apache实际绝对安装目录 Listen 8800 # 监听端口
二、打开 httpd.conf 配置文件末尾添加以下内容:
##--------------- Django项目部署配置 ---------------##
# 声明项目根目录变量
Define DjangoRoot "D:/00Project/0927-21/zhuxwProject"
# 1.安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "c:/python/python36/python36.dll"
LoadModule wsgi_module "c:/python/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/python/python36"
# 2.设置工程中的wsgi路径。
#这块一般都是/ ,我这给弄成了/zdpt,这样在访问的时候不加zdpt访问的还是apache的页面,加上zdpt后是自己项目的页面。正式部署了可以直接用/
WSGIScriptAlias /zdpt "${DjangoRoot}/Diagnose/wsgi.py"
# 3.设置工程路径
WSGIPythonPath "${DjangoRoot}"
<Directory "${DjangoRoot}">
Require all granted
</Directory>
# 4.设置wsgi路径
<Directory "${DjangoRoot}/Diagnose">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#设置静态文件路径
#Alias /static D:\00Project\01PHM\33ServerGit\0927-21\zhenduanpingtai\diag_plat\static
#<Directory D:\00Project\01PHM\33ServerGit\0927-21\zhenduanpingtai\diag_plat\static>
# AllowOverride None
# Options None
# Require all granted
#</Directory>
WSGIApplicationGroup %{GLOBAL}
上面是其他的帖子都写出来的东西,配置到这步时候启动apache服务,打开页面的时候会一直在转,什么也没有。
然后你再最后添加一句
WSGIApplicationGroup %{GLOBAL}
然后进入Django项目的settings.py文件下进行配置。
# 这个随便,测试可以不修改。上线时必须将DEBUG设为False DEBUG = False # 可指定主机,若元素为'*',表示所有同一局域网内的网络均可被访问 ALLOWED_HOSTS = ['*']
重启Apache服务
修改完配置后,只需重启Apache服务即可,此时会连着wsgi服务一并重启,因为httpd.conf配置中加载了mod_wsgi模块。
打开apache文件夹 的bin里面的ApacheMonitor.exe,然后将apache进行重启或者关闭后启动即可。
测试效果
访问测试:在浏览器地址栏输入"127.0.0.1:8800/zdpt"或"localhost:8800/zdpt"回车就可以进入你写的Django项目页面了!