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发布模块的步骤分享
Feb 21 Python
python中threading超线程用法实例分析
May 16 Python
Python中的rjust()方法使用详解
May 19 Python
python中json格式数据输出的简单实现方法
Oct 31 Python
Windows下python3.7安装教程
Jul 31 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
Python格式化输出--%s,%d,%f的代码解析
Apr 29 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 Python
python 匿名函数与三元运算学习笔记
Oct 23 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中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
PHP获取当前日期和时间及格式化方法参数
2015/05/11 PHP
深入理解PHP原理之执行周期分析
2016/06/01 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
斜45度寻路实现函数
2009/08/20 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
jQuery实现的经典滑动门效果
2015/09/22 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
详解vue axios二次封装
2018/07/22 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
Python cookbook(数据结构与算法)保存最后N个元素的方法
2018/02/13 Python
python3实现多线程聊天室
2018/12/12 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
Python多线程正确用法实例解析
2020/05/30 Python
俄罗斯领先的移动和数字设备在线商店:Svyaznoy.ru
2020/12/21 全球购物
大三自我鉴定范文
2013/10/05 职场文书
班级活动策划书
2014/02/06 职场文书
家装业务员岗位职责
2015/04/03 职场文书
治庸问责工作总结
2015/08/11 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
python实现简易名片管理系统
2021/04/11 Python
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers