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正则表达式match和search用法实例
Mar 26 Python
python获取一组汉字拼音首字母的方法
Jul 01 Python
Python的string模块中的Template类字符串模板用法
Jun 27 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
python中实现数组和列表读取一列的方法
Apr 03 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
利用python如何在前程无忧高效投递简历
May 07 Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 Python
python 实现简单的FTP程序
Dec 27 Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 Python
使用jupyter notebook运行python和R的步骤
Aug 13 Python
python分分钟绘制精美地图海报
Feb 15 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/08/04 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
微信小程序实现图片上传放大预览删除代码
2020/06/28 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python zip()函数用法实例分析
2018/03/17 Python
Django之模型层多表操作的实现
2019/01/08 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
python保留小数位的三种实现方法
2020/01/07 Python
python处理写入数据代码讲解
2020/10/22 Python
用 python 进行微信好友信息分析
2020/11/28 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
项目考察欢迎辞
2014/01/17 职场文书
软件测试专业推荐信
2014/09/18 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书