python框架django项目部署相关知识详解


Posted in Python onNovember 04, 2019

这篇文章主要介绍了python框架django项目部署相关知识详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一:项目部署的框架

nginx和uWSGI在生产服务器上进行的部署

二:什么是nginx?

nginx是一个web服务器。

什么是web服务器?

web服务器则主要是让客户可以通过浏览器进行访问,处理HTML文件,css文件,js文件,图片等资源。web服务器一般要处理静态文件。对接服务器。

什么是静态文件?

css,js,html,图片等不需要后台进行逻辑处理的文件。

特点:一般将静态文件放在web服务器里面。如nginx服务器中,做到动态静态分离的处理。

什么是动态文件?

除了静态文件之外,一般都是动态文件。

特点:动态文件一般web服务器不直接进行处理,例如ngnix会将动态资源转发给应用服务器(反向代理),让应用服务器进行处理,并将处理结果,返给nginx,nginx在将结果返回浏览器。

什么是应用服务器?

应用服务器直接面对的是我们写的程序。

特点:对接程序函数,处理业务逻辑。

uWSGI是一个应用服务器。

三:uWSGI和nginx之间通信的简单过程。

uWSGI接到请求后,将请求包进行处理,处理成wsgi(一种通信协议)可以接受的格式,并发送给wsgi,wsgi根据请求,调用应用程序中的某个文件中的某个函数,进行处理,处理完成后,将返回值,再次交给wsgi,wsgi将返回值进行打包,打包成uWSGI接受的格式,然后uWSGI将结果转发给nginx,ngnix最终将返回值给浏览器。

四:为什么分成静态服务器和应用服务器进行部署?

实现了动和静分离。提高访问静态文件的速度。降低对后台的访问。提高了网站的吞吐量。

实现动静分离的方式:

1. 页面静态化,页面静态化后的页面是放在哪里,硬盘还是缓存中。

2. 静态文件例如:图片还有html,css文件时放在web服务器上,还是web服务器的缓存里面?

五:setting.py中的debug=True

我们希望本机访问的时候,开启调试模式,错误了给错误信息的详细页面,其他机器访问的时候,关闭调试模式,错误了给他们404页面。

socket.gethostname() 返回的是主机名

python框架django项目部署相关知识详解

# setting.py中改变DEBUG=True
import socket 
if socket.gethostname() == "xxx":
  DEBUG =True
else:
  DEBUG = False

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
教大家使用Python SqlAlchemy
Feb 12 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
python实现按任意键继续执行程序
Dec 30 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
python批量创建指定名称的文件夹
Mar 21 Python
应用OpenCV和Python进行SIFT算法的实现详解
Aug 21 Python
python实现多线程端口扫描
Aug 31 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
Feb 26 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
Django配置Bootstrap, js实现过程详解
Oct 13 Python
python tkinter控件布局项目实例
Nov 04 #Python
python requests抓取one推送文字和图片代码实例
Nov 04 #Python
python 五子棋如何获得鼠标点击坐标
Nov 04 #Python
Pandas 缺失数据处理的实现
Nov 04 #Python
python tkinter canvas使用实例
Nov 04 #Python
python matplotlib饼状图参数及用法解析
Nov 04 #Python
python制作朋友圈九宫格图片
Nov 03 #Python
You might like
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
PHP游戏编程25个脚本代码
2011/02/08 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
妙用Jquery的val()方法
2012/06/27 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
Python greenlet实现原理和使用示例
2014/09/24 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
python之拟合的实现
2019/07/19 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
python如何安装下载后的模块
2020/07/03 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
东方电视购物:东方CJ
2016/10/12 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
会计毕业生自我鉴定
2013/11/04 职场文书
会走路的树教学反思
2014/02/20 职场文书
班级安全教育实施方案
2014/02/23 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
学校百日安全活动总结
2015/05/07 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
导游词之无锡梅园
2019/11/28 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python
Java基础之this关键字的使用
2021/06/30 Java/Android