注:需要在环境变量中维护path和新增pythonhome变量(根据实际路径填写)。
变量名:PATH
变量值:%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;%SYSTEMROOT%System32OpenSSH;D:python;D:pythonLib;D:DownloadApache24;D:DownloadApache24in;D:DownloadApache24lib;D:Downloadphp7;D:Downloadphp7ext;D:mysqlmysql-8.0.41-winx64in;D:pythonPython39;D:pythonPython39Lib;
变量名:PYTHONHOME
变量值:D:python
变量名:PYTHONPATH
变量值:D:pythonLib
获取python配置信息
mod_wsqi安装成功后, cmd 命令行输入输入:
mod_wsgi-express module-config
得到以下信息(复制信息用于下面备用),mod_wsgi安装结束

配置httpd.conf文件
Define SRVROOT "c:/Apache24"
ServerRoot "${SRVROOT}"
#添加mod_wsgi,这三行是安装mod_wsgi命令行中显示出来的
LoadFile "d:/python/python39.dll"
LoadModule wsgi_module "d:/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "d:/python"
WSGIApplicationGroup %{GLOBAL}
并 ctrl+f 寻找 httpd-vhosts,将它的#去掉

# 开启gzip(压缩页面,提高反应速度)
取消mod_headers、mod_deflate的#
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
# 告诉 apache 对传输到浏览器的内容进行压缩
SetOutputFilter DEFLATE
# 压缩等级 9
DeflateCompressionLevel 9
#设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
wsgi文件配置

wsgi.py
import logging
import os,sys
from django.core.wsgi import get_wsgi_application
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
logging.captureWarnings(True)
os.environ['DJANGO_SETTINGS_MODULE'] = 'djangoProject.settings'
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoProject.settings")
application = get_wsgi_application()
打开D:Apache24confextra的httpd-vhosts.conf文件,添加以下的代码
<VirtualHost *:8998>
ServerName localhost
WSGIScriptAlias / D:/mytest/mytest.wsgi
<Directory D:/mytest/>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:8997>
DocumentRoot "D:/mytest"
# 网站名称
ServerName test.com
# 设置工程中的wsgi路径
WSGIScriptAlias / D:/mytest/wsgi.py
# 设置wsgi路径
<Directory D:/mytest>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
# 设置静态文件路径
Alias /static D:/mytest/static
<Directory D:/mytest/static>
AllowOverride None
Options None
Require all granted
</Directory>
</VirtualHost>
apache 运行超过2个django项目(Python版本在3.8及以上)
如果多个 Django 站点运行在同一 mod_wsgi 进程,它们会共用最先启动的站点配置。能通过以下修改改变行为:
编辑wsgi.py:
把
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")
修改为
os.environ["DJANGO_SETTINGS_MODULE"] = "{{ project_name }}.settings"
重启apache即可