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实时分析日志的一个小脚本分享
May 07 Python
Java分治归并排序算法实例详解
Dec 12 Python
python实现BackPropagation算法
Dec 14 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
Python爬虫文件下载图文教程
Dec 23 Python
在Python中过滤Windows文件名中的非法字符方法
Jun 10 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
Python+OpenCV实现旋转文本校正方式
Jan 09 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
Jan 25 Python
python实现猜拳游戏
Mar 04 Python
如何用Python徒手写线性回归
Jan 25 Python
Python中Permission denied的解决方案
Apr 02 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 多维数组排序(usort,uasort)
2010/06/30 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
php检测文件编码的方法示例
2014/04/25 PHP
Maps Javascript
2007/01/22 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
微信小程序 网络通信实现详解
2019/07/23 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
Python中time模块和datetime模块的用法示例
2016/02/28 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
详解Python 解压缩文件
2019/04/09 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
PYTHON发送邮件YAGMAIL的简单实现解析
2019/10/28 Python
python线程池如何使用
2020/05/28 Python
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
法学专业本科生自荐信范文
2013/12/17 职场文书
《称象》教学反思
2014/04/25 职场文书
个人先进事迹材料
2014/12/29 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
总结一些Java常用的加密算法
2021/06/11 Java/Android