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批量修改文件后缀的方法
Jan 26 Python
pyqt4教程之实现windows窗口小示例分享
Mar 07 Python
Python正则表达式教程之二:捕获篇
Mar 02 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 Python
使用Python处理BAM的方法
Sep 28 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
Feb 11 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 Python
Python解析多帧dicom数据详解
Jan 13 Python
python通过opencv实现图片裁剪原理解析
Jan 19 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
django restframework serializer 增加自定义字段操作
Jul 15 Python
Python selenium实现断言3种方法解析
Sep 08 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
德劲1104的电路分析与改良
2021/03/01 无线电
NOT NULL 和NULL
2007/01/15 PHP
php UTF8 文件的签名问题
2009/10/30 PHP
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
php实现的顺序线性表示例
2019/05/04 PHP
ECMAScript 基础知识
2007/06/29 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
javascript定义函数的方法
2010/12/06 Javascript
jquery操作select大全
2014/04/25 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
详解Angularjs filter过滤器
2016/02/06 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
angularjs指令之绑定策略(@、=、&)
2017/04/13 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
[37:47]IG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
linux环境下Django的安装配置详解
2019/07/22 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
教师求职推荐信范文
2013/11/20 职场文书
演讲稿格式
2014/04/30 职场文书
本科应届生求职信
2014/08/05 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
工程部经理岗位职责
2015/02/02 职场文书
怎样写家长意见
2015/06/04 职场文书
孟佩杰观后感
2015/06/17 职场文书
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL