前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >windows +apache + django + mod_wsgi 部署 Django 站点

windows +apache + django + mod_wsgi 部署 Django 站点

作者头像
卓越笔记
发布2023-02-17 14:53:20
2.4K0
发布2023-02-17 14:53:20
举报
文章被收录于专栏:卓越笔记

前提、部署环境

1. windows 10 x64

2. apache 2.4 x64

3. python 3.5 x64

4. django 1.11

5. mod_wsgi: ap24vc14-cp35-cp35m-win_amd64

一、 下载文件 

1. 下载 apache2.4 x64(x64 代表给 64 位系统用的)

list: https://www.apachehaus.com/cgi-bin/download.plx

file: https://www.apachehaus.com/cgi-bin/download.plx?dli=XhkTpRVeNNzTUJ0KRxGa6BlVOpkVFVFdOhlR1FVU

2. 下载 mod_wsgi(ap24vc14-cp35-cp35m-win_amd64, ap 代表 Apache 版本、vc14 代表 Visual Studio C++ 2015、 vc15 Visual Studio C++ 2017、cp 代表 python 版本、amd 64 代表 64位系统)

list: http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

file: http://www.lfd.uci.edu/~gohlke/pythonlibs/zhckc95n/mod_wsgi-4.5.19+ap24vc14-cp35-cp35m-win_amd64.whl

二、安装 apache2.4 x64

解压 httpd-2.4.28-o102l-x64-vc14.zip 复制 Apache24 文件夹到你指定的目录即可(本人路径:E:\AppServ\httpd-2.4.28-o102l-x64-vc14\Apache24)

三、安装 mod_wsgi-4.5.19+ap24vc14-cp35-cp35m-win_amd64.whl

1. cmd 中执行:(没有 mod_wsgi.so 文件)

代码语言:javascript
复制
pip install mod_wsgi-4.5.19+ap24vc14-cp35-cp35m-win_amd64.whl

2. 获取 mod_wsgi 载入代码(cmd 中执行)

代码语言:javascript
复制
cd  E:\Python35\Scripts

mod_wsgi-express module-config

以下这段是替代原来的 LoadModule wsgi_module modules/mod_wsgi.so  载入 mod_wsgi 方法

代码语言:javascript
复制
E:\Python35\Scripts>mod_wsgi-express module-config
LoadFile "e:/python35/python35.dll"
LoadModule wsgi_module "e:/python35/lib/site-packages/mod_wsgi/server/mod_wsgi.c
p35-win_amd64.pyd"
WSGIPythonHome "e:/python35"

四、配置 httpd.conf (E:\AppServ\httpd-2.4.28-o102l-x64-vc14\Apache24\conf, 参数详情介绍

代码语言:javascript
复制
# 定义 SRVROOT 变量,引用使用 ${SRVROOT};定义服务运行路径 ServerRoot 
Define SRVROOT "E:/AppServ/httpd-2.4.28-o102l-x64-vc14/Apache24"
ServerRoot "E:/AppServ/httpd-2.4.28-o102l-x64-vc14/Apache24"

# 监听80端口
Listen 80

# 添加mod_wsgi.so 模块  
LoadFile "e:/python35/python35.dll"
LoadModule wsgi_module "e:/python35/lib/site-packages/mod_wsgi/server/mod_wsgi.cp35-win_amd64.pyd"
WSGIPythonHome "e:/python35"

# 联系邮箱
ServerAdmin zhuoqun527@qq.com  

# 服务器域名或者 ip
ServerName 10.0.0.20

# 指定项目的 wsgi.py 配置文件路径    
WSGIScriptAlias / H:/Python_1608/joyoo/joyoo/wsgi.py

# 指定项目路径    
WSGIPythonPath H:/Python_1608/joyoo

# 指定 python 的目录
# 因为载入 mod_wsgi.pyd 时已经写了 python 目录这里就注释了
# WSGIPythonHome  E:/Python35  

# 添加wsgi的读取权限
<Directory H:/Python_1608/joyoo/joyoo>    
<Files wsgi.py>    
    Require all granted    
</Files>    
</Directory>    

# 声明 静态文件 的映射 
Alias /static H:/Python_1608/joyoo/static_root    
<Directory H:/Python_1608/joyoo/static_root>     
    AllowOverride None    
    Options None    
    Require all granted    
</Directory>

# 声明 media 文件的映射 
Alias /media H:/Python_1608/joyoo/media  
<Directory H:/Python_1608/joyoo/media>     
    AllowOverride None    
    Options None    
    Require all granted    
</Directory>

五、windows 添加删除服务

1. 添加服务:

命令:启动命令路径文件 -k install -n 服务名称

打开CMD窗口,输入:"E:\AppServ\httpd-2.4.28-o102l-x64-vc14\Apache24\bin>httpd.exe" -k install -n apache2.4x64

切记,包含引号。该命令的意思是,安装apache服务,并将该服务名称命名为 apache2.4x64(你也可以改成别的),回车。

cmd 中执行:

代码语言:javascript
复制
E:\AppServ\httpd-2.4.28-o102l-x64-vc14\Apache24\bin>httpd.exe -k install -n apache2.4x64

Installing the 'apache2.4x64' service
The 'apache2.4x64' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.

2. 删除服务:

命令:sc delete 服务名称

E:\Python35\Scripts>sc delete apache2.4x64

[SC] DeleteService 成功

3. 局域网 固定本机电脑 IP:

六、部署出错了,咋办?

1. 检查 Apache 、python、mod_wsgi 版本是否匹配

2. 检查 httpd.conf 配置是否正确

3. 出错的日志,丢到搜索引擎去找答案,挨个尝试

4. 无法访问 80 端口,给系统入站规则 增加 TCP 80 端口可访问, 操作文档

5. 导入 pandas 包后,打开站点一直响应中,httpd.conf 增加一行:WSGIApplicationGroup %{GLOBAL},详情

七、centos7 下部署

centos7 + virtualenv + django + uwsgi + nginx 部署站点

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-7 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档