windows平台使用apache部署Django项目

32 篇文章 0 订阅
16 篇文章 1 订阅

在 Django 的学习过程中, 我们一直使用 Django 的 manage.py 的runserver 命令来运行 Django 应用, 这个命令启动的是 Django 自带的用于开发的简易服务器, 它是一个用纯 Python 写的轻量级的 Web 服务器. 这个服务器内置在 Django 中是为了方便开发, 并不适用于实际的生产环境. 当项目真正部署上线的时候我们就必须 Django 项目部署到特定的web服务器上了.

这里我们采用的是 windows+apache+django 方式.

我的配置

安装apache

Apache官方网站: http://httpd.apache.org/

在Apache官方网站中的 download 界面中找到 Files for Microsoft Windows

 

进入后一般选择第一个 ApacheHaus , 这是个第三方下载平台

 

这里我下载的是 Apache 2.4.39 x64

 

下载后解压缩文件, 将其中的 Apache24文件夹 放到你想放置的目录下, 这里我选择放在云服务器的桌面上, 即 C:\Users\Administrator\Desktop\web\ 目录下.

修改 Apache24/conf/httpd.conf 文件:

Define SRVROOT "C:\Users\Administrator\Desktop\web\Apache24"    #将全局变量改成自己 Apache24 的位置
......
Listen 127.0.0.1:80    #修改ip地址和端口号
......
ServerName 127.0.0.1:80    #修改ip地址和端口号
......

主要就是路径和端口号的修改, 如果你在启动 apache 的 httpd.exe 程序后打不开 http://127.0.0.1 , 请检查这些配置.

启动 Apache24/bin/httpd.exe 程序

通过浏览器访问: http://127.0.0.1/

若出现 It works! 界面, 则表明安装成功.

安装mod_wsgi

mod_wsgi 是一个 Apache 模块, 它可以管理任何 Python WSGI 应用, 包括 Django. Django 支持所有支持 mod_wsgi 的 Apache 版本.

下载地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

这里配置 Apache-httpd-2.4.39-win64-VC14, python3.7 对应版本为: mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win_amd64.whl

下载后, 在 cmd界面 用 pip install 该文件的位置/mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win_amd64.whl 安装该模块.

安装后在 cmd界面 输入 mod_wsgi-express module-config 命令, 显示该模块的安装信息.

 

复制下来备用.

配置apache和django项目

这里我的 Apache24 和 django 项目均放在桌面的 web文件夹中, 即 C:\Users\Administrator\Desktop\web\ 目录下.

 

再次打 Apache24/conf/httpd.conf 文件, 在文件的末尾加上以下代码:

……
#添加 mod_wsgi 模块, 即上文备用的信息.
LoadFile "c:/python37/python37.dll"
LoadModule wsgi_module "c:/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/python37"

#指定项目的wsgi.py配置文件路径,这个py文件是在你的Django项目中  
WSGIScriptAlias / C:\Users\Administrator\Desktop\web\mysite\mysite\wsgi.py

#指定项目目录, 即你的Django项目路径
WSGIPythonPath  C:\Users\Administrator\Desktop\web\mysite
<Directory C:\Users\Administrator\Desktop\web\mysite\mysite>  
<Files wsgi.py>  
    Require all granted  
</Files>  
</Directory>  

#项目静态文件地址, 即Django项目中静态文件的路径  
Alias /static C:\Users\Administrator\Desktop\web\mysite\polls\static
<Directory C:\Users\Administrator\Desktop\web\mysite\polls\static>  
    AllowOverride None  
    Options None  
    Require all granted  
</Directory>  

#项目media地址, 上传图片等文件夹的路径  
Alias /media C:\Users\Administrator\Desktop\web\mysite\polls\media
<Directory C:\Users\Administrator\Desktop\web\mysite\polls\media>  
    AllowOverride None  
    Options None  
    Require all granted  
</Directory>  

然后打开Django项目内的 mysite\mysite\settings.py 文件进行配置:

DEBUG = False

TEMPLATE_DEBUG = False

ALLOWED_HOSTS = ['*']

最后再次启动 Apache24\bin\httpd.exe 程序, 通过浏览器访问: http://127.0.0.1/ 即可看到你的 django项目了.

如果出错, 可以进入 Apache24\logs\ 文件夹中查看错误信息并设法解决.

成功部署后如果想要你的Django项目能通过局域网访问, 则需要进一步的配置.

打开 Apache24/conf/httpd.conf 配置文件, 修改 ip地址 为 你的ip地址即可(云服务器要用内网地址):

......
Listen 你的ip地址和端口号
......
ServerName 你的ip地址和端口号
......

保存文件, 再重启 httpd.exe 程序就部署完成了.

参考文献

  1. Apache部署django项目 - 虫师 - 博客园
  2. Windows下实现Django + Apache 部署 - Mr_blueD的博客 - CSDN博客
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值