windows平台使用apache部署Django项目
简介
在 Django 的学习过程中, 我们一直使用 Django 的 manage.py 的runserver 命令来运行 Django 应用, 这个命令启动的是 Django 自带的用于开发的简易服务器, 它是一个用纯 Python 写的轻量级的 Web 服务器. 这个服务器内置在 Django 中是为了方便开发, 并不适用于实际的生产环境. 当项目真正部署上线的时候我们就必须 Django 项目部署到特定的web服务器上了.
这里我们采用的是 windows+apache+django 方式.
我的配置
- 系统: Windows Server 2016 数据中心版 64位中文版 (这个方法应该适用于一般的windows系统)
- Web服务器软件: Apache-httpd-2.4.39-win64-VC14
- mod_wsgi: mod_wsgi-4.5.24+ap24vc14-cp37-cp37m-win_amd64.whl
- Django: Django-2.2.3
安装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 文件:
1 | Define SRVROOT "C:\Users\Administrator\Desktop\web\Apache24" #将全局变量改成自己 Apache24 的位置 |
主要就是路径和端口号的修改, 如果你在启动 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 文件, 在文件的末尾加上以下代码:
1 | …… |
然后打开Django项目内的 mysite\mysite\settings.py 文件进行配置:
1 | DEBUG = False |
最后再次启动 Apache24\bin\httpd.exe 程序, 通过浏览器访问: http://127.0.0.1/ 即可看到你的 django项目了.
如果出错, 可以进入 Apache24\logs\ 文件夹中查看错误信息并设法解决.
成功部署后如果想要你的Django项目能通过局域网访问, 则需要进一步的配置.
打开 Apache24/conf/httpd.conf 配置文件, 修改 ip地址 为 你的ip地址即可(云服务器要用内网地址):
1 | ...... |
保存文件, 再重启 httpd.exe 程序就部署完成了.