1、场景介绍
Python自带的web服务器性能比较差,一般不用于生产,需要部署在Apache上。
Django项目搭建详见:Python之Django项目搭建
2、Apache服务安装包下载
下载地址:https://www.apachelounge.com/download/
进入网站,查看更多版本,选择V15为例:
选择64位:
下载完毕:
3、Apache服务安装
将下载好的Apache服务安装包,解压到D盘下的ApacheVC15文件夹下即可(作者习惯)。
4、mod_wsgi依赖包下载与安装
(1)下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
选择与自己安装的Python版本相匹配的、64位的依赖包:
下载完毕:
(2)进入mod_wsgi安装包的的目录,使用pip命令安装mod_wsgi即可。
【pip install mod_wsgi-4.9.0-cp37-cp37m-win_amd64.whl】
5、Apache配置文件修改
Apache配置文件路径:D:\ApacheVC15\Apache24\conf\httpd.conf(以作者的Apache服务安装在目录为例)。
(1)Apache的根目录配置。
Define SRVROOT “D:/ApacheVC15/Apache24”
(2)监听端口配置。
Listen 127.0.0.1:8080
(3)Servername配置,与前面端口保持一致。
ServerName 127.0.0.1:8080
(4)添加Django项目配置。
# 添加mod_wsgi.so模块
LoadFile "D:/Program Files/Python37/python37.dll"
LoadModule wsgi_module "D:/Program Files/Python37/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "D:/Program Files/Python37"
WSGIApplicationGroup %{GLOBAL}
# 指定django项目的wsgi.py的配置文件路径
WSGIScriptAlias / "D:/Python Project/FileUpload/FileUpload/wsgi.py"
# 指定项目路径
WSGIPythonPath "D:/Python Project/FileUpload"
# 设置路径权限
<Directory "D:/Python Project/FileUpload/FileUpload">
AllowOverride None
Options None
Require all granted
</Directory>
# 路径映射,设置静态文件路径,有时候HTML文件需要访问的本地静态文件也需要放在此路径:D:/Python Project/FileUpload/templates,
#然后使用/fileUpload/templates为前缀去设置本地静态文件的链接地址。
Alias /fileUpload/templates "D:/Python Project/FileUpload/templates"
# 设置路径权限
<Directory "D:/Python Project/FileUpload/templates">
AllowOverride None
Options None
Require all granted
</Directory>
6、Apache服务管理
httpd.exe 的常用命令有:
查看端口占用情况netstat -a -u
检查conf语法 httpd.exe -t
创建apache服务 httpd.exe -k install -n “servername”
启动 httpd.exe -k start -n “servername”
停止 httpd.exe -k stop -n “servername”
重启 httpd.exe -k restart -n “servername”
卸载 httpd.exe -k uninstall -n “servername”
以管理员身份打开“命令命令提示符”:
进入httpd.exe文件所在的目录(图2):
(1)检查conf语法,显示Syntax OK则表示配置文件没问题。
【httpd.exe -t】
(2)创建apache服务,服务名为“FileUploadServer”。
【httpd.exe -k install -n “FileUploadServer”】
验证结果:
(3)启动"FileUploadServer"服务。
【httpd.exe -k start -n “FileUploadServer”】
启动成功:
(4)停止"FileUploadServer"服务。
【httpd.exe -k stop -n “FileUploadServer”】
停止成功:
(5)重启"FileUploadServer"服务。
【httpd.exe -k restart -n “FileUploadServer”】
(6)卸载"FileUploadServer"服务。
【httpd.exe -k uninstall -n “FileUploadServer”】
卸载成功,"FileUploadServer"服务已不存在: