Win10/Win11下部署Django项目到Apache2.4的方法

4 篇文章 0 订阅
1 篇文章 0 订阅

环境:
Apache2.4 64bit
Python 3.9.1
Django 4.1.2

一、配置wsgi

pip install mod_wsgi-4.9.2-cp39-cp39-win_amd64.whl

Win10/Win11下离线安装该包,相对安全

下载地址:https://download.lfd.uci.edu/pythonlibs/archived/mod_wsgi-4.9.2-cp39-cp39-win_amd64.whl

离线安装成功如如下图所示:

二、获取配置

mod_wsgi-express.exe module-config

如下图所示:

三、配置httpd.conf

直接复制以下内容至httpd.conf

LoadFile "D:/Python/Python39/python39.dll"
LoadModule wsgi_module "D:/Python/Python39/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "D:/Python/Python39"

 四、配置Django项目(项目的根目录)

此处我的项目为:I:\work\dev\python\testDjango\app01

以下为我在apache-httpd的conf/httpd.conf末尾的配置

#1.添加mod_wsgi.so 模块
LoadFile "D:/Python/Python39/python39.dll"
LoadModule wsgi_module "D:/Python/Python39/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "D:/Python/Python39"

#2.配置项目的wsgi路径
WSGIScriptAlias / I:/work/dev/python/testDjango/app01/app01/wsgi.py

# 配置项目路径
WSGIPythonPath I:/work/dev/python/testDjango/app01

<Directory I:/work/dev/python/testDjango/app01/app01>
<Files wsgi.py>
    Require all granted
</Files>
</Directory>

# 项目静态目录
Alias /static I:/work/dev/python/testDjango/app01/static_online
<Directory I:/work/dev/python/testDjango/app01//static_online>
    AllowOverride None
    Options None
    Require all granted
</Directory>

# medias目录
Alias /medias I:/work/dev/python/testDjango/app01//medias
<Directory I:/work/dev/python/testDjango/app01//medias>
    AllowOverride None
    Options None
    Require all granted
</Directory>

五、启动Apache服务

六、打开django项目setting配置(发布项目,调整则不变)

DEBUG = False

七、查看项目启动情况

 

这是部署完成后的正确启动。 

FAQ

以上设置完成后,若无法启动Apache服务,需要查看环境变量中是否设置了PYTHONHOME的值,否则只能自行查看Apache-httpd-**/logs日志。这个问题是自己排查出来的,容易被忽略,因为我的Python是重装系统后,未再用安装包安装引发,所以需要注意。

有不懂的地方可以多多探讨,欢迎拍砖。

QQ:569860239

Email:code_captain@163.com

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值