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中使用pyhook实现键盘监控的例子
Jul 18 Python
浅谈scrapy 的基本命令介绍
Jun 13 Python
Python 获得13位unix时间戳的方法
Oct 20 Python
解决django前后端分离csrf验证的问题
Feb 03 Python
Python3内置模块之base64编解码方法详解
Jul 13 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
Aug 29 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
python实现双色球随机选号
Jan 01 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 Python
Python Pandas知识点之缺失值处理详解
May 11 Python
Python中第三方库Faker的使用详解
Apr 02 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
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
php把数组值转换成键的方法
2015/07/13 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
JS实现二维数组横纵列转置的方法
2018/04/17 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
python3生成随机数实例
2014/10/20 Python
Python中每次处理一个字符的5种方法
2015/05/21 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
Python魔法方法功能与用法简介
2019/04/04 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
django实现日志按日期分割
2020/05/21 Python
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
孝敬父母的演讲稿
2014/05/14 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android