django 在windows服务器部署生产环境
一、准备工作
(1) 完成python安装,这里我使用的是 python3.6.4的安装包 (2)配置好环境变量,确保python能在cmd中运行 (3)使用pip 安装django的依赖的python库
二、部署Apache 应用
(1)下载 apache 的程序包,下载地址: https://www.apachelounge.com/download/ 主要注意vc版本,我使用的是 httpd-2.4.41-win64-VC14
(2)将安装包放到服务器 c 盘目录下,解压压缩包
(3)进入目录 C:\httpd-2.4.41-win64-VC14\Apache24\conf 找到 httpd.conf 文件 可以修改监听端口等信息
Listen 80 # 修改访问的端口
ServerName 39.105.164.28:80 默认是注释的,取消注释,否则启动时会有警告
...
(4)启动apache,在C:\httpd-2.4.41-win64-VC14\Apache24\bin,启动httpd.exe
(5)浏览器访问 127.0.0.1:80 ,正常访问即可
三、安装mod_wsgi
需要注意下载的时候匹配对应的apache和python的版本
这里我下的版本是 mod_wsgi-4.7.1+ap24vc14-cp36-cp36m-win_amd64.whl
(2) 使用 pip install mod_wsgi-4.7.1+ap24vc14-cp36-cp36m-win_amd64.whl 进行安装
(3)修改 httpd.conf 文件,在最后添加下面的内容
#添加mod_wsgi.so模块,这三行是上面命令行中显示出来的
LoadFile "d:/python36/python36.dll"
LoadModule wsgi_module "d:/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "d:/python36"
#指定项目的wsgi.py配置文件路径,这个py文件是在你的Django项目中
WSGIScriptAlias / d:/picture/picture/wsgi.py
#指定项目目录,即你的Django项目路径
WSGIPythonPath d:/picture
Require all granted
#项目静态文件地址, Django项目中静态文件的路径
Alias /static D:/picture/tu/static
AllowOverride None
Options None
Require all granted
#项目media地址, 上传图片等文件夹的路径
Alias /media D:/picture/tu/media
AllowOverride None
Options None
Require all granted
(4)进入你的项目,修改项目settings.py 中的内容
DEBUG = False
TEMPLATE_DEBUG = False
ALLOWED_HOSTS = ['*']
(5)关闭并重新启动 httpd.exe,浏览器访问 127.0.0.1:80 验证是否正确
(6)如果出现静态文件缺失,使用 python manage.py collectstatic 命令提取静态文件