Windows下使用Apache和mod_wsgi部署django项目

一、安装Python
确定好所需要的python版本。

二、安装Apache
apache下载地址:http://httpd.apache.org/docs/current/platform/windows.html#down
下载完成后做如下操作
将apache解压后直接复制到你想安装的路径下

1、更改httpd.conf文件,找到如下代码并更改路径
Define SRVROOT "E:/Apache24"
ServerRoot "${SRVROOT}"

找到

Listen 12.34.56.78:80在下面添加监听端口号

Listen 8081
2、以管理员身份运行cmd(右键点击cmd,看到管理员身份运行),进入E:\Apache24\bin目录下,输入命令

    > httpd -k install             -->    安装

在安装完成之后,输入httpd -k install后就可以启动apache服务了,然后双击bin目录下的ApacheMonitor.exe就可以看到apache的状态了,可以手动控制apache服务,也可以通过cmd使用以下其他命令操作
> httpd -k start --> 启动

    > httpd -k stop             -->    停止

    > httpd -k uninstall        -->    卸载

3、apache服务启动之后,在浏览器输入localhost:8081,8081是之前在配置文件里设置的端口号,显示It works!表示访问成功。

三、安装Visual Studio

这一步最好是在下载启动apache之前,如果上步不成功,就先进行这一步,这一步是必须的,如果没有这个工具,后面的mod_wsgi也安不上,会提示没有wheels。假如不确定自己有没有这个工具,也可以直接跳过这一步,等后面报错再回来安装,在下载apache的文件夹可以看到readme文本文档,打开后也可看到如下的要求:

直接打开官方网站Microsoft C++ 生成工具 - Visual Studio直接下载安装

如果安装时报错提示没有Microsoft .NET Framework,根据提示的版本去官网找到并下载,这里我安装的是4.8版本,按需安装:适用于 Windows 的 Microsoft .NET Framework 4.8 脱机安装程序 - Microsoft 支持

安装Visual Studio时注意勾选:左上角的C++桌面开发应用(大概是六个) 并在右下角扩选一个c++ATL

四、安装mod_wsgi

mod_wsgi的安装必须在同一个终端下进行,如果是cmd,则全部在同一个cmd中进行;如果是pycharm的终端,则全部在pycharm的终端下进行。
cmd输入:
set MOD_WSGI_APACHE_ROOTDIR=E:/Apache24
pip install mod_wsgi
安装完成后cmd接着输入
mod_wsgi-express module-config
将输出的3行代码到apache的httpd.conf配置文件中,就写到刚刚的端口号下就行

在项目文件下编写wsgi文件
wsgi文件可以通过mod_wsgi模块把django项目和apache服务连接起来:
import sys
sys.path.insert(0, "E:\pythonProject\flaskProject") # 添加项目路径到python解释器的搜索路径中
from app import app as application # 这里必须是application

添加wsgi文件的路径到apache服务的httpd.conf文件中:

Listen 8081

LoadFile "C:/Users/jackc/AppData/Local/Programs/Python/Python38/python38.dll"
LoadModule wsgi_module "d:/work/frontend/housemarket/housemarketserver/venv/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_amd64.pyd"
WSGIPythonHome "d:/work/frontend/housemarket/housemarketserver/venv"

ServerName 121...** # 这里写入服务器ip地址

<VirtualHost *>
WSGIScriptAlias / E:\pythonProject\flaskProject\test.wsgi
<Directory 'E:\pythonProject\flaskProject'>
Require all granted
Require host ip


访问地址:http://localhost:8081/

五、添加入站规则

点开控制面板-->找到防火墙--> 高级设置-->新建入站规则-->添加端口18081以及8081。

如果是云服务器,还需要在控制台上找到实例的安全组,添加以上入站端口。

posted @ 2024-07-28 08:38  星空28  阅读(33)  评论(0编辑  收藏  举报