如何理解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,我收到了,我把响应结果返回给客户端。大家合作愉快~

 

转载于:https://www.cnblogs.com/weiwei-python/p/9781404.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值