Windows Server 2008 R2 使用Apache2.4配置多个Django项目(使用虚拟主机)

Python的项目运行最好是开发使用什么环境,生产就什么环境,当我们使用django1.1和2.1分别开发了两个项目,又很坑,使用Windows Server为服务器的时候,该怎么配置呢,网上找了各种资料,要么不全,要么是Linux的,Apache有一些指令是不支持Windows的,甚至Django文档的部署也是使用了Linux的指令。折腾了好久,分享给大家参考:

一步步做,史上最简易配置,不改动任何默认配置内容。

划重点:
mod_wsgi下载要根据Apache和python版本下载

文末附有本篇文章涉及到的软件–我的网盘下载。

mod_wsgi-4.6.7+ap24vc15-cp37-cp37m-win_amd64.whl表示对应Apache2.4采用VC15编译,python版本3.7 !!!一定要对应版本

第一步:在Windows安装好Python,我这里使用3.7.3版本

安装过程参考我的另一篇文章(3.5版本的,3.7一样安装):Windows Server安装Python

第二步:安装mod_wsgi

下载对应版本的mod_wsgi
在这里插入图片描述
得到.whl文件,在终端使用pip install安装
在这里插入图片描述
完成后使用命令mod_wsgi-express module-config导出mod_wsgi的配置路径,输出如下3行
这3行相当重要!!!

在这里插入图片描述

第三步:配置Apache2.4

下载Apache选择对应版本
在这里插入图片描述
解压后出现Apache24文件夹。把它放在任何你喜欢的位置。进入
得到如下文件:我们只操作这里3个文件夹
在这里插入图片描述

!!!进入关键配置

打开主配置文件conf/httpd.conf
最后加入刚刚mod_wsgi导出的配置(相当重要的那3行)和包含虚拟机配置文件(1行),如图
在这里插入图片描述
再打开虚拟机配置文件conf/extra/httpd-vhosts.conf
添加虚拟机配置(直接在文件最后添加):
如有需要,再虚拟主机内添加网站管理员和网站名字配置。
ServerAdamin xxx
ServerName xxx

# 监听端口,!!!防火墙记得开启本端口
Listen 9000
<VirtualHost *:9000>
    # WSGI脚本 规则 路径
    WSGIScriptAlias / C:/Users/Administrator/Desktop/second_web/second_web/wsgi.py
     # 项目wsgi.py权限配置
    <Directory C:/Users/Administrator/Desktop/second_web/second_web>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
    # 静态文件路径配置,即访问ip:port/static 路径
    Alias /static C:/Users/Administrator/Desktop/second_web/static
    <Directory  C:/Users/Administrator/Desktop/second_web/static>
        Require all granted
    </Directory>
    # 请求头验证开启(如果你使用django的验证,这可能非常有用)
    WSGIPassAuthorization On
    # 错误日志路径配置
    ErrorLog "logs/second_web-error.log"
    CustomLog "logs/second_web-access.log" common
</VirtualHost>

拷贝的请修改方框中路径配置:
在这里插入图片描述

第四步:添加项目运行的环境和环境包

打开项目代码文件夹进入wsgi.py文件,改为如下:

import os
import sys
# 加入本项目的虚拟环境(当两个django项目使用不同版本时,这可能非常有用)
virtualenv_dir = 'C:/Users/Administrator/Envs/customerService/Lib/site-packages'  # 虚拟环境python包文件夹
sys.path.insert(0, virtualenv_dir)  # 加入导包路径
from django.core.wsgi import get_wsgi_application
# 项目所在文件夹,python解释器才知道在哪里运行项目
PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, PROJECT_DIR)  # 项目加入导包路径

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'customer_service.settings')

application = get_wsgi_application()

!!!配置虚拟环境关键步骤
在这里插入图片描述
到这里,基本上就配置完成了。
打开bin/httpd.exe运行
黑框一直显示着,不是一闪而过的话,恭喜你!

附加内容:将Apache加入系统服务

打开命令提示符,cd 到 httpd.exe所在位置。
执行命令 httpd -k install 后可接参数 服务的名字 例如 myApache,不加默认为Apache2.4
开启服务器管理器。
在这里插入图片描述
开启时如果报1053错误。应该是缺少windows软件包vc_redis,下载vc_redis找到对应安装包下载安装。

删除Apache服务: sc delete 服务名
sc delete Apache24

本篇部署涉及的软件网盘下载:
我的网盘-百度网盘
提取码:m7qm

如有需要可参考我的另一篇博文:Apache默认配置文件中文注释说明
(本篇完)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值