Windows+apache+mod_wsgi部署Django项目
Windows+apache+mod_wsgi部署Django项目
在上一篇《Window服务器部署Django:服务器准备》后,尝试了windows+apache+mod_wsgi方式将Django项目部署,不需执行python manage.py runserver,实现真正的部署。
配置环境
windows10服务器
python版本3.8
Django版本3.0
Apache下载与配置
apache 官网下载地址:
https://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC15
此处我选择Apache2.4 VC15
因为我是64位系统,点击此处
下载完是一个压缩包,解压后得到
把Apache24文件夹放在任意路径,我放在这里
进入Apache24文件夹下的conf目录,找到httpd.conf配置文件
我是用笔记本打开方式编辑,会看到很多代码,不用管,也不要删除任何代码,直接使用Ctrl+F查找,找到如下代码行进行修改
......
Define SRVROOT "C:/Program Files/Apache/Apache24" # 此处把引号内的路径改为你的Apache24文件夹路径
......
Listen 12.12.12.29:8010 # 此处为你要发布的网站的ip地址和端口
......
ServerName 12.12.12.29:8010 # 同上
......
创建Apache服务
以管理员身份进入命令行, 并cd进入Apache24目录,执行下方命令
httpd.exe -k install -n "apache2.4" #apache2.4是所创建服务器名称,可自己命名。
出现successfully installed说明服务创建成功
创建成功后在命令行输入services.msc进入服务器管理器,找到你创建的apache服务,并启动
启动成功后打开浏览器输出你在httpd.conf中配置的ip地址和端口访问,出现如下页面成功
配置Django
安装mod_wsgi,进入http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi,下载相应版本mod_wsgi Python的插件
我的python版本是3.8,这里我找到我的对应版本下载
得到
将下载好的whl文件移动到服务器下载的的python下的Scripts目录下
在命令行进入服务器下载的的python下的Scripts目录,并输入
pip install “mod_wsgi-4.7.1-cp38-cp38-win_amd64.whl”
安装成功后执行下方命令行
mod_wsgi-express module-config
出现以下三行提示,这三行一定要记下来,后面配置最重要的就是它了,复制这三行内容:
再次打开apache的配置文件httpd.conf
在文件的最后,粘贴刚刚复制下来的三行内容
并且加入其他配置内容如下
LoadFile "c:/users/.../appdata/local/programs/python/Python38/python38.dll"
LoadModule wsgi_module "c:/users/.../appdata/local/programs/python/Python38/lib/site-packages/mod_wsgi/server/mod_wsgi.cp38-win_adm64.pyd"
WSGIPythonHome "c:/users/.../appdata/local/programs/python/Python38"
#设置工程中的wsgi路径
WSGIScriptAlias / C:\Pybishe\OBE\wsgi.py
#设置工程路径
WSGIPythonPath C:\Pybishe
#设置wsgi路径
<Directory C:\Pybishe\OBE>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
#设置静态文件路径
Alias /static C:\Pybishe\static
<Directory C:\Pybishe\static>
AllowOverride None
Options None
Require all granted
</Directory>
其中的所有配置根据自己的情况进行更改
写好后保存文件,回到服务器管理器,重启apache2.4服务
如果之前配置都没问题,那么打开浏览器输入你配置的ip网址加端口,你就会见到眼熟的django页面啦。
看起来很简单的配置,但其实我花费了一天的时间,因为中间踩了很多坑,害,下一篇着重讲一下我掉了一天的坑。
上一篇: 【Lintcode】277. Word Spacing
下一篇: 字符串之输出所有的数字