随笔 - 13, 文章 - 0, 评论 - 0, 阅读 - 20434
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Windows下搭建apache+mod-wsgi+python django环境

Posted on   cmzchxj  阅读(1408)  评论(0编辑  收藏  举报

Windows下搭建apache+mod-wsgi+python django环境【全过程】

1. 教程目录

  • Python安装
  • Apache安装
  • Mod_wsgi安装
  • 将Django项目部署到Apache服务器

2. 准备工作

环境说明:Windows 10 + Python 3.6.5 + Apache 24
  • 1

3. Python安装

  • 双击python的.exe安装文件,勾选“Add Python 3.6 to Path”,点击"Customize Installation",如图:
    在这里插入图片描述
  • 勾选想下载的功能,点击“Next”,如图:
    在这里插入图片描述
  • 勾选其它相关配置,选择自定义安装路径,点击“Install”,如图:
    在这里插入图片描述
  • 等待安装完成,如图:
    在这里插入图片描述
  • 打开CMD,输入python,查看python版本信息,如图:
    在这里插入图片描述

4. Apache安装

  • 解压apache的压缩包,如图:
    在这里插入图片描述
  • 将apache的bin目录加入到环境变量path中,如图:
    在这里插入图片描述
  • 修改httpd.conf配置文件中SRVROOT的路径为apache的安装目录,如图:
    默认是 Define SRVROOT “/Apache24”
    在这里插入图片描述
  • cmd输入命令:httpd -k install -n “Apache”,将apache服务加入到Windows服务中,如图:
    在这里插入图片描述
  • 启动Apache服务,如图:
    在这里插入图片描述

5. Mod_wsgi安装

Mod_wsgi, a WSGI adapter module for the Apache HTTP Server 2.x.
Linked against the VC10, and VC14 binaries from Apache Lounge and VC9 binaries from Apache House.
See Running mod_wsgi on Windows for version (in)compatibilities.
mod_wsgi‑4.5.24+ap24vc14‑cp35‑cp35m‑win32.whl
mod_wsgi‑4.5.24+ap24vc14‑cp35‑cp35m‑win_amd64.whl
mod_wsgi‑4.5.24+ap24vc14‑cp36‑cp36m‑win32.whl
mod_wsgi‑4.5.24+ap24vc14‑cp36‑cp36m‑win_amd64.whl
mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win32.whl
mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win_amd64.whl
mod_wsgi‑4.5.24+ap24vc9‑cp27‑cp27m‑win32.whl
mod_wsgi‑4.5.24+ap24vc9‑cp27‑cp27m‑win_amd64.whl
mod_wsgi‑4.6.5+ap24vc14‑cp35‑cp35m‑win32.whl
mod_wsgi‑4.6.5+ap24vc14‑cp35‑cp35m‑win_amd64.whl
mod_wsgi‑4.6.5+ap24vc14‑cp36‑cp36m‑win32.whl
mod_wsgi‑4.6.5+ap24vc14‑cp36‑cp36m‑win_amd64.whl
mod_wsgi‑4.6.5+ap24vc15‑cp37‑cp37m‑win32.whl
mod_wsgi‑4.6.5+ap24vc15‑cp37‑cp37m‑win_amd64.whl
mod_wsgi‑4.6.5+ap24vc9‑cp27‑cp27m‑win32.whl
mod_wsgi‑4.6.5+ap24vc9‑cp27‑cp27m‑win_amd64.whl
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

如 mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl

i. 这个插件对应的Apache版本是24, VC是14

ii. Python版本是3.6

iii. 64位系统

在下载时要选择相应的版本,否则Apache启动时会有问题

  • 把下载的.whl文件复制到python\Scripts下,cmd切换到该目录下,使用pip install “mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl”,如图:
    在这里插入图片描述
  • 在安装成功后在python的安装目录的\scripts文件夹下运行命令:mod_wsgi-express module-config,输出如下三行结果,如图:
    在这里插入图片描述
    把这三行内容复制到httpd.conf文件下进行配置,如图:
	LoadFile "d:\software\python3.6\python36.dll"
	LoadModule wsgi_module "d:\software\python3.6\lib\site-packages\mod_wsgi\server\mod_wsgi.cp36-win_amd64.pyd"
	WSGIPythonHome "d:\software\python3.6"
  • 1
  • 2
  • 3

在这里插入图片描述

6. 将Django项目部署到Apache服务器

  • 修改Apache的httpd.conf文件,添加如下配置:
LoadFile "d:\software\python3.6\python36.dll"
LoadModule wsgi_module "d:\software\python3.6\lib\site-packages\mod_wsgi\server\mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "d:\software\python3.6"

#指定项目的wsgi.py配置文件路径
WSGIScriptAlias / D:\fe_server\fe_server\wsgi.py

#指定项目目录
WSGIPythonPath D:\fe_server
<Directory D:\fe_server\fe_server>
<Files wsgi.py>
    Require all granted
</Files>
</Directory>


#项目静态文件地址
Alias /static D:\fe_server\static
<Directory D:\fe_server\static>
    AllowOverride None
    Options None
    Require all granted
</Directory>

#项目/auto_test 地址
Alias /auto_test D:\fe_server\auto_test
<Directory D:\fe_server\auto_test>
    AllowOverride None
    Options None
    Require all granted
</Directory>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 将httpd.conf配置文件中的 “Require all denied” 修改为 “Require all granted”
  • 将httpd.conf配置文件中的监听端口80改为8088
  • 重新启动Apache服务,即可在浏览器中访问该网站
  • 配置Apache允许所有IP访问,修改Listen:80 为 IP:port,ServerName为 IP:port即可达到效果

 

2******************************************

Windows环境下使用 Apache+mod_wsgi 部署Django项目

#Windows环境下使用 Apache+mod_wsgi 部署Django项目#
在Windows环境下部署Django项目真的非常的麻烦,我自己查过很多教程,有很多都是半途而废了,最后咬着牙把Apache+mod_wsgi这个部署方案算是基本搞定。作为菜鸟满满的成就感。就此分享下。
1.前期准备工作
Python版本: Python 3.6.3
Apache版本:httpd-2.4.33-win64-VC14
Django版本:Django 2.0.2
期间要注意Apache mod_wsgi 与Python版本的对应问题,如果版本不符的话是会出问题的
2.Apahce的安装
可以百度Apache安装,或者登陆Apache的官网 http://httpd.apache.org/根据自己的电脑环境进行下载安装。
解压后的如图:

然后用记事本打开Apache24/conf/httpd.conf 准备修改配置文件,
ServerRoot "c:/Apache24"这个是Apache的安装目录,文件解压到哪里就填什么位置

#ServerName www.example.com:80是Apache的服务地址,把前面的#可以去掉,"www.example.com"可以改成"localhost",也可以不改

下一步在系统中添加apache的服务
httpd.exe -k install -n "服务名字"  httpd后的.exe可以省略

然后可以进入bin目录点击 httpd.exe  会出现命令提示符,不要关闭这个命令提示符,然后打开浏览器输入“localhost”,点击回车,如果显示“It works!”则说明Apache的配置已经成功了


3.安装mod_wsgi
①.下载mod_wsgi的地址 http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi,
因为我的python版本是3.6.3   apache版本是ap24vc14  电脑系统是64位,版本要对应

②.把下载的.whl文件复制到python\Scripts下使用
pip install "mod_wsgi-4.6.4+ap24vc14-cp36-cp36m-win_amd64.whl"


pip install ".whl的文件目录也是可以的"
然后使用命令   mod_wsgi-express module-config  输出三行结果

LoadFile "c:/programdata/anaconda3/python36.dll"
LoadModule wsgi_module "c:/programdata/anaconda3/lib/site-packages/mod_wsgi/serv
er/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "c:/programdata/anaconda3"
这三行结果需要保存下,之后会在httpd.cnf文件下进行配置
4.在httpd.cnf文件中配置django项目

 

最后在apache/bin 目录中点击 httpd.exe 然后访问就可以了

 

编辑推荐:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示