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中的多进程与多线程的使用
Apr 07 Python
在Django框架中运行Python应用全攻略
Jul 17 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
Nov 07 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
Dec 14 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
python实现逆序输出一个数字的示例讲解
Jun 25 Python
python numpy 显示图像阵列的实例
Jul 02 Python
python进程和线程用法知识点总结
May 28 Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
Sep 01 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实现多级树型菜单
2006/10/09 PHP
php 删除无限级目录与文件代码共享
2008/11/22 PHP
php遍历CSV类实例
2015/04/14 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
python通过floor函数舍弃小数位的方法
2015/03/17 Python
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
Django与JS交互的示例代码
2017/08/23 Python
python机器学习之贝叶斯分类
2018/03/26 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python matplotlib折线图样式实现过程
2019/11/04 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
python访问hdfs的操作
2020/06/06 Python
python中re模块知识点总结
2021/01/17 Python
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
HTML5样式控制示例代码
2013/11/27 HTML / CSS
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
国贸专业个人求职信范文
2014/01/08 职场文书
买卖协议书范本
2014/04/21 职场文书
中药学专业毕业生推荐信
2014/07/10 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
优秀员工自荐书
2015/03/06 职场文书
员工开除通知书
2015/04/25 职场文书
企业愿景口号
2015/12/25 职场文书
常用的Python代码调试工具总结
2021/06/23 Python
MySQL如何解决幻读问题
2021/08/07 MySQL