[转]Apache部署Django项目
Django项目本身就可以启动运行,为什么还需要部署到Apache或者Nginx上呢?初学者都会遇到这个问题,我们来看看官方解释:It’s intended only for use while developing. (We’re in the business of making Web frameworks, not Web servers.),意思是django的业务是制作Web框架,而不是Web服务器。自带的web server只是方便开发,并不能直接放到生产环境,有兴趣的同学可以自己测试两者性能上的差距。 言归正传,我们这里主要讲述如何搭建Apache环境。
安装Apache
Apache(win 64)下载:https://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC09
1.解压缩,修改Apache24\conf\httpd.conf 文件中的apache路径和端口:
......Define SRVROOT "E:/Apache24" ServerRoot "${SRVROOT}"......#Listen 12.34.56.78:80Listen 8088......ServerName localhost:8088......
2.打开E:\Apache24\bin\httpd.exe,在浏览器输入http://127.0.0.1:8088/ 出现welcome页面代表成功。
#添加mod_wsgi.so 模块 LoadModule wsgi_module modules/mod_wsgi.so
若mod_wsgi解压后找不到mod_wsgi.so文件(如有跳过此步骤)
运行cmd,进入Scripts目录执行安装操作:
pip3 install mod_wsgi-4.5.17+ap24vc10-cp34-cp34m-win_amd64.whl
在Scripts目录执行:mod_wsgi-express module-config
把三行内容复制到httpd.conf:
#添加mod_wsgi.so 模块 LoadFile "c:/python34/DLLs/python3.dll"LoadModule wsgi_module "c:/python34/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"WSGIPythonHome "c:/python34"
配置Apache与Django
1.打开Apache配置文件 httpd.conf,在末尾增加一段配置:
#添加mod_wsgi.so 模块 LoadFile "c:/python34/DLLs/python3.dll"LoadModule wsgi_module "c:/python34/lib/site-packages/mod_wsgi/server/mod_wsgi.pyd"WSGIPythonHome "c:/python34" #指定myweb项目的wsgi.py配置文件路径 WSGIScriptAlias / D:/mysite/mysite/wsgi.py #指定项目路径 WSGIPythonPath D:/mysite <Directory D:/mysite/mysite> <Files wsgi.py> Require all granted </Files> </Directory> Alias /static D:/mysite/static <Directory D:/mysite/static> AllowOverride None Options None Require all granted </Directory>
DEBUG = FalseALLOWED_HOSTS = ['127.0.0.1','localhost'] #允许访问的ip。也可以用'*'表示,代表不受限制
重启bin\httpd.exe,输入URL
测试OK
3.将Apache安装成windows server,就不需要每次打开httpd.exe出现一个小黑框了。
bin目录下运行cmd命令httpd -k install -n “服务名” (不加参数,默认Apache2.4)
运行apache:net start apache2.4
停止apache:net stop apache2.4
删除apache:sc delete Apache2.4
---------------------
作者:三只松鼠
来源:CNBLOGS
原文:https://www.cnblogs.com/shenh/p/7552722.html
版权声明:本文为作者原创文章,转载请附上博文链接!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现