码迷,mamicode.com
首页 > 其他好文 > 详细

uwsgi、wsgi和nginx的区别和关系

时间:2019-12-11 17:15:13      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:lock   生成   图片   客户   业务逻辑   数据库   时间   读取   url   

区分uWSGI和WSGI:

  在python web开发中,经常使用uwsgi配合nginx部署一个web框架,如Django或者flask,框架和服务器之间要符合wsgi协议

web服务器和web框架
  web服务器用来接收客户端请求,建立连接,转发响应,至于转发的内容,交由web框架来处理,即Django或者flask处理业务逻辑,如查询数据库,生成实时信息。Nginx就是一个web服务器,django或者flask就是web框架

uWSGI和WSGI:
  如何做到任意一个web服务器,都能搭配任意一个web框架,这就需要WSGI协议,只要服务器和web框架都满足WSGI协议,他们就能相互搭配。所以WSGI只是一种协议,一种约定,一种标准,就像U盘的插头形状,和电脑USB接口的形状一样,他们都满足这一种标准,所以他们能建立联系,实现对文件的操作。而uWSGI就是满足WSGI协议的一种服务器,用来接收客户端的请求,转发响应的程序。
  实际上,uWSGI服务器 + Django框架,就可以实现网站的功能了,但一旦客户端访问量过大,客户端请求连接就需要长时间的等待,这种模式就无法满足需求了,分布式服务器此时应运而生,而nginx就是分布式服务器的一大利器,我们可以多用几台服务器来分别处理请求,nginx就相当于管家一样分配客户端请求连接和web服务器,这就是用nginx来实现反向代理,及代理服务器。

技术图片

nginx和uWSGI服务器之间是如何配合工作的?

  首先浏览器发起http请求到nginx服务器,nginx根据接收的请求包,进行url分析,判断访问的资源类型,如果是静态资源,直接读取静态资源返回给浏览器,如果请求的是动态资源就转交给uwsgi服务器,uwsgi服务器根据自身的WSGI协议,找到对应的Django框架,Django框架下的应用进行逻辑处理,将返回值发送到uwsgi服务器,uwsgi服务器再返回给nginx,最后nginx将返回值返回给浏览器进行渲染显示给用户

uwsgi、wsgi和nginx的区别和关系

标签:lock   生成   图片   客户   业务逻辑   数据库   时间   读取   url   

原文地址:https://www.cnblogs.com/stephenmoo/p/12023506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!