环境说明:
- 操作系统:win10
- python版本: python3.7
- django版本: django2.2
- 数据库:mysql8.0.15
- Apache版本:2.4.39
- mod_wsgi版本:4.5.24
1. 安装Apache
1.1 下载
进入下载页面https://www.apachehaus.com/cgi-bin/download.plx,选择相应的版本下载。
1.2 解压
下载完成后对下载文件进行解压,将解压后的Apache24文件夹移动到你想要的安装路径(如C:\Apache24),不需要进行安装,Apache24就是服务器文件。
1.3 配置服务器文件
打开C:\Apache24\conf\httpd.conf文件,该文件就是配置文件,找到以下代码并进行修改:
Define SRVROOT "C:\Apache24" #Apache24文件的路径
----------------------
Listen 192.168.17.102:8080 #此处为要发布的网站ip地址,也可以用127.0.0.1:8000用于本地测试;端口自己设置
----------------------------
ServerName 192.168.17.102:8080
1.4 创建Apache服务
使用管理员打开cmd,进入到C:\Apache24\bin目录下,使用httpd创建服务:
httpd.exe -k install -n "apache2.4" #apache2.4为服务名称
如果出现 successfully installed 说明服务创建成功,可以打开服务管理器对服务进行操作,如启动、关闭等。
如果出现 错误 AH00072: make_sock: could not bind to address [::]:443 ,说明端口被占用,则参考其他文章进行修改。
1.5 查看服务
使用浏览器打开 192.168.17.102:8080,如果出现以下页面则说明服务启动成功:
2. 安装mod_wsgi
2.1 下载
进入到下载页面https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi,选择对应的版本进行下载。ap24vc14指的是Apache版本为2.4;cp37m指的是python版本为3.7;win_amd64指的是操作系统是Windows64位。
2.2 安装
进入到下载文件所在的目录,使用pip进行安装:
pip install mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win_amd64.whl
安装成功后,输入以下代码获取信息:
mod_wsgi-express module-config
输入后得到以下信息:
LoadFile "c:/program files/python37/python37.dll"
LoadModule wsgi_module "c:/program files/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/program files/python37"
2.3 配置Django项目
再次编辑httpd.conf文件,再最末尾添加如下代码:
#安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "c:/program files/python36/python37.dll"
LoadModule wsgi_module "c:/program files/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/program files/python37"
#设置工程中的wsgi路径
WSGIScriptAlias / E:\works\License\LicenseSite\LicenseSite\wsgi.py
#设置工程路径
WSGIPythonPath E:\works\License\LicenseSite
#设置wsgi路径
<Directory E:\works\License\LicenseSite\LicenseSite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#设置静态文件路径
Alias /static E:\works\License\LicenseSite\static
<Directory E:\works\License\LicenseSite\static>
AllowOverride None
Options None
Require all granted
</Directory>
配置文件修改完成后,到服务管理器中重启 apache2.4 服务,在浏览器窗口输入 192.168.17.102:8080, 查看Django项目显示是否正常。
参考文章:
https://blog.csdn.net/weixin_40754816/article/details/80955817