• 如何理解Nginx, WSGI, Flask(Django)之间的关系


    如何理解Nginx, WSGI, Flask(Django)之间的关系

    值得指出的是,WSGI 是一种协议,需要区分几个相近的名词:

    • uwsgi
      同 wsgi 一样也是一种协议,uWSGI服务器正是使用了 uwsgi 协议
    • uWSGI
      实现了 uwsgi 和 WSGI 两种协议的web服务器。注意 uWSGI 本质上也是一种 web服务器,处于上面描述的三层结构中的 web服务器层。
    • CGI
      通用网关接口,并不限于 Python 语言,定义了 web服务器是如何向客户端提供动态的内容。例如,规定了客户端如何将参数传递给 web服务器,web服务器如何将参数传递给 web应用,web应用如何将它的输出如何发送给客户端,等等。
      生产环境下的 web应用都不使用 CGI 了,CGI进程(类似 Python 解释器)针对每个请求创建,用完就抛弃,效率低下。WSGI 正是为了替代 CGI 而出现的。
    • 最后以 Nginx,WSGI,Flask 之间的对话结束本文。
      Nginx:Hey,WSGI,我刚收到了一个请求,我需要你作些准备,然后由Flask来处理这个请求。
      WSGI:OK,Nginx。我会设置好环境变量,然后将这个请求传递给Flask处理。
      Flask:Thanks WSGI!给我一些时间,我将会把请求的响应返回给你。
      WSGI:Alright,那我等你。
      Flask:Okay,我完成了,这里是请求的响应结果,请求把结果传递给Nginx。
      WSGI:Good job!Nginx,这里是响应结果,已经按照要求给你传递回来了。
      Nginx:Cool,我收到了,我把响应结果返回给客户端。大家合作愉快~
  • 相关阅读:
    RedisTemplate的rightpushAll()时的坑
    Redis操作HyperLogLog
    Redis做消息队列使用
    UML
    设计模式概述
    HTTP/HTTPS/TCP/IP协议
    SpringBoot特点
    虚拟机+kafka基础配置
    Spring学习
    SpringBoot配置文件
  • 原文地址:https://www.cnblogs.com/weiwei-python/p/9781404.html
Copyright © 2020-2023  润新知