WSGI、uWSGI、Nginx这都是些啥?

uWSGI

uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HtpUwsgiModule的作用是与uWSGI服务器进行交换.
要注意 WSGI/uwsgi /uWSGI 这三个概念的区分

  • WSGI是一种通信协议,Flask,webpy,Django、CherryPy等等都自带WSGl,不过性能都不好.
    Web服务器网关接口 (Python Web Server Gateway Interface,缩写为WSGI),WSGI是一套接口标准协议。
  • UWSGI同WSGI一样是一种通信协议。
  • uWSGI是实现了uwsgi和WSGI两种协议的Web服务器

WSGI
所谓WSGI(Web Server Gateway Interface)。它不是web server,也不是web app;而正是为了将web和app解耦、再连接起来的一道桥梁。因为它是一种通用的接口规范,规定了web server(如Apache、Nginx)和web app(或web app框架)之间的标准。因为如此,web app开发者就能专注于业务逻辑、专注于HTML文档的生成,而不用操心繁琐的网络底层实现(HTTP请求接收、建立连接、返回响应等),并能方便地组合搭配不同的web server + web app/框架了。
在这里插入图片描述

为什么有了uWSGI为什么还需要nginx?
因为nginx具备优秀的静态内容处理能力,然后将动态内容转发给uWSG服务器,这样可以达到很好的客户端响应。
在这里插入图片描述

说到这,我们基本确立了 uWSGI 在 web服务器与 web框架之间作用:
uWSG 就像一条纽带,将web服务器与 web框架连接起来Nginx 属于一种高并发能力 web服务器,Flask属于一种 web框架,因此,uWSGI与 Nginx、Flask 的作用就不明而喻了。

Nginx,uWSGl,Flask 之间的对话:

  • Nginx: Hey,uWSGI,我刚收到了一个请求,我需要你作些准备,然后由Flask来处理这个请求.
  • uWSGl`: OK,Nginx。我会设置好环境变量,然后将这个请求传递给Flask处理。
  • Flask: Thanks uwSGI! 给我一些时间,我将会把请求的响应返回给你。
  • uWSGI: Alright,那我等你。
  • Flask: Okav,我完成了,这里是请求的响应结里,请求把结果传递给Nginx.
  • uWSGI: Good job! Nginx,这里是响应结果,已经按照你的要i求给你传递回来啦。
  • Flask: Cool,我收到了,我把响应结果返回给客户 端。大家合作愉快!

在这里插入图片描述

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值