Django项目部署:windows + Apache + mod_wsgi

一、阿里云配置

阿里云服务器 - ECS控制台 - 配置

进入控制台,找到【安全组】-【配置规则】-【添加安全组】-【入方向】

  • 添加,TCP,8000/8000。(必须!!!)
  • 添加,HTTP,80/80。(未必需要)
  • 添加,HTTPS,443/443。(未必需要)

阿里云服务器 - windows防火墙 - 配置

【控制面板】→【防火墙】→【高级设置】→【入站规则】

  • 新建规则,TCP,端口,8000/8000。(必须!!!)
  • 新建规则,HTTP,端口,80/80。(未必需要)
  • 新建规则,HTTPS,端口,443/443。(未必需要)

二、Apache下载与配置

1.进入Apache官网,http://httpd.apache.org/下载对应版本

我选择的是Apache2.4 VC14 64为版本(根据需求选择)

注意:不要选德国,下载不了!


2.获取Apache24文件夹

解压获取Apache24文件夹(apache服务器),不需安装,直接将Apache24文件夹移动到你想放的位置。建议:C盘根目录。

3.配置apache服务器:

C:\Apache24\conf目录,找到httpd.conf文件,修改如下三行代码

  •     Define SRVROOT "C:\Apache24"
  •     Listen 192.168.31.227:8000【注意:此处输入私网IP】
  •     ServerName 192.168.31.227:8000【注意:此处输入私网IP】

4.创建apache服务

管理员进入CMD,进入C:\Apache24\bin文件夹。输入如下代码创建服务:httpd.exe -k install -n "apache2.4"  【apache2.4是所创建服务器名称,可更改】。出现successfully installed说明服务创建成功。创建成功后,进入服务器管理器,搜索apache服务,右键可对服务进行启动。

5.验证

访问,私网IP:8000,显示apache页面,表示成功


三、python与 mod_wsgi的配置

1.安装mod_wsgi

进入http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi,下载相应版本mod_wsgi Python的插件,这个插件我理解的作用是一个python与apache的接口的作用,因为django项目本身使用python写的。言归正传,进入网址后,下载对应版本,ap24cv24指apache版本,比如我的是apache24, cp36指python3.6,win_adm64指操作系统为64位,这里一定要下载正确版本,不然后面无法正确部署。


下载之后找到mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl,后缀名改为.zip进行解压。

解压后有os文件,进入这个教程,http://www.cnblogs.com/fnng/p/4119712.html,找到安装mod_wsgi步骤

解压后没有mod_wsgi.so文件,命令行输入:

pip install "路径 + mod_wsgi-4.5.24+ap24vc14-cp36-cp36m-win_amd64.whl"

安装成功后再输入:

或许要cd 进入 C:\Users\PengGangzhu\AppData\Local\Programs\Python\Python36\Scripts

mod_wsgi-express module-config

出现以下三行提示,这三行复制粘贴到一个地方暂存起来:

LoadFile "c:/users/penggangzhu/appdata/local/programs/python/python36/python36.dll"

LoadModule wsgi_module "c:/users/penggangzhu/appdata/local/programs/python/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"

WSGIPythonHome "c:/users/penggangzhu/appdata/local/programs/python/python36"

至此,mod_wsgi安装成功。

2.配置django项目

再次打开httpd.conf文件,再最末尾添加如下代码。

LoadFile "c:/program files/python37/python37.dll"
LoadModule wsgi_module "c:/program files/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/program files/python37"

# project/wsgi
WSGIScriptAlias / C:\Users\Administrator\Desktop\project\project\wsgi.py

# project
WSGIPythonPath C:\Users\Administrator\Desktop\project

# wsgi
<Directory C:\Users\Administrator\Desktop\project\project>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

# static
Alias /static C:\Users\Administrator\Desktop\project\static
<Directory C:\Users\Administrator\Desktop\project\static >  
    AllowOverride None  
    Options None  
    Require all granted  
</Directory>

重启apache服务

服务器上浏览器:输入私网IP+8000 + 路径

任意PC浏览器:输入公网IP+8000 + 路径

不带端口号访问:

请把httpd.conf里边刚才修改的两个端口号改为80,这两个端口号其实就是在设置进入django项目的端口号。

修改后,便可实现无端口号访问django项目

四、域名与公网IP映射

【阿里云控制台】-【域名】-【配置映射关系 DNS解析】

 

PS:建议linux服务器上部署,据说要简单很多。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正在修炼的IT大佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值