Nginx和uWSGI和Flask的关系

导读:本篇文章讲解 Nginx和uWSGI和Flask的关系,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、uWSGI

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

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

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

在这里插入图片描述

统一标准。

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

Nginx,uWSGI,Flask 之间的对话

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74157.html

(1)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!