Django项目我一般都是部署到Linux上的,今天也来尝试一下在window上部署。
环境:
- 操作系统:win10
- python版本: python3.6
- django版本: django2.2
- Apache版本:Apache2.4.41
- mod_wsgi版本:mod_wsgi4.7.1
1. 安装Apache
1.1下载
进入下载页面,根据自己的电脑选择相应的版本下载。我这里是win10所以我下载的Apache 2.4.41 x64。
1.2 解压
下载完成后对文件进行解压,将解压后的Apache24文件夹移动到你想要的安装路径(如D:\Apache24),Apache24本身就是一个服务器文件,所以不需要进行安装。
1.3 配置服务器文件
打开你所安装的文件(D:\Apache24\conf\httpd.conf),该文件就是配置文件,找到以下代码并进行修改:
Define SRVROOT "C:\Apache24" #Apache24文件安装的路径
Listen 8080 #监听端口
ServerName 192.168.5.13:8080 访问的ip地址
1.4 创建Apache服务
使用管理员打开cmd,进入到bin目录下 ,cd D:\Apache24\bin,使用httpd创建服务:
httpd.exe -k install -n "apache24" #apache24为服务名称
出现 successfully installed 说明服务创建成功,可以右击桌面打开任务管理器对服务进行启动、关闭等操作。
1.5 查看服务
1.5 查看服务
使用浏览器打开 192.168.5.13:8080,如果能打开页面说明服务启动成功。
2. 安装mod_wsgi
2.1 下载
进入到下载页面选择对应的版本进行下载。ap24vc14指的是Apache版本为2.4;cp36m指的是python版本为3.6;win_amd64指的是操作系统是Windows64位。
2.2 安装
进入到下载文件所在的目录,进入cmd使用pip进行安装:
pip install mod_wsgi‑4.7.1+ap24vc14‑cp36‑cp36m‑win_amd64.whl
安装成功后,输入以下代码获取信息:
mod_wsgi-express module-config
输入后得到以下信息:
LoadFile "d:/anaconda3/python36.dll"
LoadModule wsgi_module "d:/anaconda3/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "d:/anaconda3"
2.3 配置Django项目
再次编辑httpd.conf文件,再最末尾添加如下代码:
#安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "d:/anaconda3/python36.dll"
LoadModule wsgi_module "d:/anaconda3/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "d:/anaconda3"
#设置工程中的wsgi路径
WSGIScriptAlias / F:\python\untitled1\untitled1\wsgi.py
#设置工程路径
WSGIPythonPath F:\python\untitled1
#设置wsgi路径
<Directory F:\python\untitled1\untitled1>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#设置静态文件路径
Alias /static F:\python\untitled1\static
<Directory F:\python\untitled1\static>
AllowOverride None
Options None
Require all granted
</Directory>
配置文件修改完成后,到服务管理器中重启 apache24 服务,在浏览器窗口输入 192.168.5.13:8080, 查看Django项目显示是否正常。
参考文章
https://blog.csdn.net/weixin_40754816/article/details/80955817