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 相关文章推荐
在类Unix系统上开始Python3编程入门
Aug 20 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
django输出html内容的实例
May 27 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
Jun 11 Python
Python面向对象程序设计之私有属性及私有方法示例
Apr 08 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
python实现截取屏幕保存文件,删除N天前截图的例子
Aug 27 Python
Python 自动登录淘宝并保存登录信息的方法
Sep 04 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 Python
python通过函数名调用函数的几种场景
Sep 23 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
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
js截取函数(indexOf,join等)
2010/09/01 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
JavaScript 布尔操作符解析  && || !
2012/08/10 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
详解Python中where()函数的用法
2018/03/27 Python
python和shell获取文本内容的方法
2018/06/05 Python
对pandas中Series的map函数详解
2018/07/25 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
tensorflow 变长序列存储实例
2020/01/20 Python
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
意大利网上购书网站:Libraccio.it
2021/02/03 全球购物
无刑事犯罪记录证明
2014/09/18 职场文书
高中学生自我评价范文
2014/09/23 职场文书
php将xml转化对象的实例详解
2021/11/17 PHP
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python