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 25 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
Python GUI编程 文本弹窗的实例
Jun 11 Python
关于python导入模块import与常见的模块详解
Aug 28 Python
python关于调用函数外的变量实例
Dec 26 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
Python控制台实现交互式环境执行
Jun 09 Python
Scrapy中如何向Spider传入参数的方法实现
Sep 28 Python
使用python操作lmdb对数据读取的实例
Dec 11 Python
利用python+request通过接口实现人员通行记录上传功能
Jan 13 Python
Django中如何用xlwt生成表格的方法步骤
Jan 31 Python
python实现网络五子棋
Apr 11 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数据到Excel文件(fputcsv)
2011/07/03 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
用nodejs写的一个简单项目打包工具
2013/05/11 NodeJs
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
Python中获取网页状态码的两个方法
2014/11/03 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
Python打印输出数组中全部元素
2018/03/13 Python
python如何为创建大量实例节省内存
2018/03/20 Python
python定时任务 sched模块用法实例
2019/11/04 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
Pytorch之finetune使用详解
2020/01/18 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
大学生专业个人学习的自我评价
2013/10/26 职场文书
一份婚庆公司创业计划书
2014/01/11 职场文书
学生会部长竞聘书
2014/03/31 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
Golang数据类型和相互转换
2022/04/12 Golang