悠闲博客-blog.yxrjt.cn

windows环境下使用Apache部署python django学习记录

更新时间:2025-11-21 16:14点击:66

‌注:需要在环境变量中维护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即可

栏目分类

联系方式
  • help@yxrjt.cn
  • lgc@yxrjt.cn
  • admin@yxrjt.cn