Django在Window环境部署:使用Apache + mod_wsgi方法

一、资源准备

1、Apache下载:https://www.apachehaus.com/cgi-bin/download.plx

Django在Window环境部署:使用Apache + mod_wsgi方法_第1张图片

下载是一个压缩包:httpd-2.4.55-o111s-x64-vs17.zip,解压得到一个Apache24文件夹

Django在Window环境部署:使用Apache + mod_wsgi方法_第2张图片

2、mod_wsgi 下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

【注意】:cp37对应python 3.7.X版本,amd64对应电脑64位

Django在Window环境部署:使用Apache + mod_wsgi方法_第3张图片

下载为一个这样的文件:

在这里插入图片描述

二、部署Apache

1、将Apache复制到别的文件夹,修改conf下的httpd.conf

Django在Window环境部署:使用Apache + mod_wsgi方法_第4张图片

2、记事本打开修改httpd.conf文件

(1)修改根目录路径:
Django在Window环境部署:使用Apache + mod_wsgi方法_第5张图片

(2)修改端口:
Django在Window环境部署:使用Apache + mod_wsgi方法_第6张图片

(3)修改监听主机及端口号:
Django在Window环境部署:使用Apache + mod_wsgi方法_第7张图片

3、创建apache服务

(1)以管理员身份cmd进到apache的bin目录下执行: httpd.exe -k install -n “apache2.4”

注:“apache2.4” 为服务名称,可修改成别的

Django在Window环境部署:使用Apache + mod_wsgi方法_第8张图片
(2)双击运行服务管理程序
Django在Window环境部署:使用Apache + mod_wsgi方法_第9张图片

在桌面右下角开始刚刚创建的Apache服务

Django在Window环境部署:使用Apache + mod_wsgi方法_第10张图片

浏览器输入:http://127.0.0.1:8080 ,打开为这页面即成功开始Apache服务

Django在Window环境部署:使用Apache + mod_wsgi方法_第11张图片

三、安装mod_wsgi

【前言】你电脑要有 Visual Studio 20XX 开发环境

Django在Window环境部署:使用Apache + mod_wsgi方法_第12张图片

1、cmd进到下载了 mod_wsgi-4.9.0-cp37-cp37m-win_amd64.whl 的文件夹,使用命令进行安装

pip install mod_wsgi-4.9.0-cp37-cp37m-win_amd64.whl

一定要下载和python对应的版本,不然会出错”is not a supported wheel on this platform.“

Django在Window环境部署:使用Apache + mod_wsgi方法_第13张图片

2、cmd运行: mod_wsgi-express module-config

Django在Window环境部署:使用Apache + mod_wsgi方法_第14张图片

(1)复制下面出现的三行内容到 httpd.conf 文件中,在添加2、3、4项设置
Django在Window环境部署:使用Apache + mod_wsgi方法_第15张图片

#指定myweb项目的wsgi.py配置文件路径
WSGIScriptAlias / C:/Users/Administrator/PycharmProjects/MyApp/KaoYan/KaoYan/wsgi.py

#指定项目路径  
WSGIPythonPath C:/Users/Administrator/PycharmProjects/MyApp/KaoYan
<Directory C:/Users/Administrator/PycharmProjects/MyApp/KaoYan>  
<Files wsgi.py>  
   Require all granted  
</Files>  
</Directory> 

#配置静态路径
Alias /Static/ C:/Users/Administrator/PycharmProjects/MyApp/KaoYan/Static/
<Directory C:/Users/Administrator/PycharmProjects/MyApp/KaoYan/Static/>   
    AllowOverride None  
    Options None  
    Require all granted  
</Directory>

#2、中路径为:
Django在Window环境部署:使用Apache + mod_wsgi方法_第16张图片
#3、中路径为

Django在Window环境部署:使用Apache + mod_wsgi方法_第17张图片
#4、中同理…

四、Apache服务中运行项目

(1)桌面由下角右键打开服务管理器运行刚刚创建的apache2.4服务即可

Django在Window环境部署:使用Apache + mod_wsgi方法_第18张图片

注:出现以下问题是python没配置环境变量,或者8080端口被占用了(httpd.conf中改别的端口)
日志出现:ModuleNotFoundError: No module named ‘encodings‘解决方法
Django在Window环境部署:使用Apache + mod_wsgi方法_第19张图片

配置python系统环境变量:PYTHONHOME和PYTHONPATH
Django在Window环境部署:使用Apache + mod_wsgi方法_第20张图片

五、Django静态文件不显示解决

看我这篇文章:https://blog.csdn.net/weixin_51111267/article/details/129140318

六、配置项目的进程数、处理请求数

进入Apace24目录下的conf下extra目录中的配置文件httpd-mpm.conf中更改

Django在Window环境部署:使用Apache + mod_wsgi方法_第21张图片

ThreadsPerChild: 线程数量,线程数量越大,越能够更好的处理更多并发连接。默认值是150,推荐设置:小型网站=1000
中型网站=1000~2000 大型网站=2000~3500

MaxConnectionsPerChild:累计最多处理到多少个请求,超过该值会自动重启Apache,设置为0,则没有限制,但可能会照成内存泄漏。小型网站=10000
中型或大型网站=20000~100000,若设置为大于0时,最好为ThreadsPerChild的100倍

你可能感兴趣的:(Django,apache,django,python)