近期有需要在 Windows 服务器部署 Django 应用程序的需要,在翻阅大量资料后整理出一套可行的方案。
Windows 服务器部署步骤
-
安装Python环境
-
安装项目依赖包
-
下载
Mod_wsgi
依赖包- 下载对应Mod_wsgi版本
- • Archived: Python Extension Packages for Windows - Christoph Gohlke (uci.edu)
- mod_wsgi‑4.9.2‑cp39‑cp39‑win_amd64.whl
mod_wsgi
要匹配Python版本,cp*
代表Python版本号。- 这里我引用的是 Python3.9 ,所以是
cp39
-
终端执行
pip install mod_wsgi‑4.9.2‑cp39‑cp39‑win_amd64.whl
-
终端执行
mod_wsgi-express module-config
获取模块配置信息 -
在
Apache2.4.39\conf
中的httpds.conf
配置
# 配置Django项目,前三行为前面的终端执行结果,复制粘贴进来就行
LoadFile "c:/users/administrator/appdata/local/programs/python/python39/python39.dll"
LoadModule wsgi_module "c:/users/administrator/appdata/local/programs/python/python39/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd"
WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python39"
WSGIApplicationGroup %{GLOBAL}
#设置项目根目录
WSGIPythonPath C:/fileServer
<VirtualHost *:7779>
ServerName 127.0.0.1:7779
#设置项目中的wsgi路径
WSGIScriptAlias / C:/fileServer/fileServer/wsgi.py
#设置项目中的wsgi根路径
<Directory C:/fileServer/fileServer>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Listen 7779
- 上面的
7779
属于端口配置,可以任意修改,注意安全组或防火墙入口要开放。 C:/fileServer
属于项目主文件夹,如果发生变动,要跟随一起变动
备注信息
- 这次分享的经验,不需要你熟悉 Apache 的任何知识,即使你不具备 Apache 的配置编辑能力,跟着步骤一点一点弄就行,这都是我通宵试出来的百分百能顺利部署的步骤。
- 另外有需要前后端定制需求,Python脚本定制需求,其他软件项目定制需求,都可以私信我进行沟通!
Apache知识点额外补充
在 Apache
配置文件中可以设置多个 Listen
指令来监听不同的端口
第一个 Listen
指令很特殊,它决定了 Apache
的主要端口
其他的 Listen
都是额外增加的监听端口,它们通常与特定的虚拟主机 VirtualHost
或服务关联。
服务器内可能需要的pip镜像设置
pip config --global set global.index-url https://pypi.doubanio.com/simple
pip config --global set install.trusted-host pypi.doubanio.com