Apache部署Django项目图文详解


Posted in Python onJuly 30, 2019

前言

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:80
Listen 8088
......

ServerName localhost:8088
......

2.打开E:\Apache24\bin\httpd.exe,在浏览器输入http://127.0.0.1:8088/ 出现welcome页面代表成功。

Apache部署Django项目图文详解

mod_wsgi 模块下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

1.把whl文件改成zip,解压缩,把里面的mod_wsgi.so拷贝到E:\Apache24\modules路径下,httpd.conf 中新增一段配置:

#添加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

Apache部署Django项目图文详解

把三行内容复制到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>

2.打开django项目setting配置:

DEBUG = False
ALLOWED_HOSTS = ['127.0.0.1','localhost'] #允许访问的ip。也可以用'*'表示,代表不受限制

重启bin\httpd.exe,输入URL

Apache部署Django项目图文详解

测试OK

3.将Apache安装成windows server,就不需要每次打开httpd.exe出现一个小黑框了。

bin目录下运行cmd命令httpd -k install -n “服务名” (不加参数,默认Apache2.4)

Apache部署Django项目图文详解

运行apache:net start apache2.4

停止apache:net stop apache2.4

删除apache:sc delete Apache2.4

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现2014火车票查询代码分享
Jan 10 Python
python机器学习理论与实战(二)决策树
Jan 19 Python
基于python神经卷积网络的人脸识别
May 24 Python
基于Python开发chrome插件的方法分析
Jul 07 Python
Linux下安装python3.6和第三方库的教程详解
Nov 09 Python
在python中利用GDAL对tif文件进行读写的方法
Nov 29 Python
浅谈Python反射 &amp; 单例模式
Mar 21 Python
Python面向对象实现一个对象调用另一个对象操作示例
Apr 08 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
python数据分析:关键字提取方式
Feb 24 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
解决TensorFlow训练模型及保存数量限制的问题
Mar 03 Python
Python 使用list和tuple+条件判断详解
Jul 30 #Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 #Python
Python实现二叉搜索树BST的方法示例
Jul 30 #Python
django 基于中间件实现限制ip频繁访问过程详解
Jul 30 #Python
python3安装crypto出错及解决方法
Jul 30 #Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 #Python
Python实现性能自动化测试竟然如此简单
Jul 30 #Python
You might like
php实现网站插件机制的方法
2009/11/10 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
Javascript var变量隐式声明方法
2009/10/19 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
js读取配置文件自写
2014/02/11 Javascript
JSONP之我见
2015/03/24 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
使用Python编写vim插件的简单示例
2015/04/17 Python
深入理解Python中装饰器的用法
2016/06/28 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
PYTHON发送邮件YAGMAIL的简单实现解析
2019/10/28 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
高级护理实习生自荐信
2013/09/28 职场文书
食品营养与检测应届生求职信
2013/11/08 职场文书
党课学习思想汇报
2014/01/02 职场文书
社区十八大感言
2014/01/19 职场文书
交通事故调解协议书
2015/05/20 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
mysql函数之截取字符串的实现
2022/08/14 MySQL