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 06 Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
python中的闭包函数
Feb 09 Python
python中abs&map&reduce简介
Feb 20 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 Python
django的settings中设置中文支持的实现
Apr 28 Python
Python 脚本的三种执行方式小结
Dec 21 Python
通过实例解析python subprocess模块原理及用法
Oct 10 Python
Python3 用什么IDE开发工具比较好
Nov 28 Python
Python可视化学习之seaborn调色盘
Feb 24 Python
基于PyQt5制作一个群发邮件工具
Apr 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
PHP生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
kmock javascript 单元测试代码
2011/02/06 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
javascript观察者模式实现自动刷新效果
2017/09/05 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
Python机器学习之决策树算法
2017/12/22 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
方法名是否可以与构造器的名字相同
2012/06/04 面试题
举例说明类变量和实例变量的区别
2016/06/30 面试题
质检部部长职责
2013/12/16 职场文书
会计主管岗位职责
2014/01/03 职场文书
保护环境建议书400字
2014/05/13 职场文书
2015年组织部工作总结
2015/04/03 职场文书
开除员工通知
2015/04/22 职场文书
初中语文教师研修日志
2015/11/13 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
Python Django获取URL中的数据详解
2021/11/01 Python
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang