博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flask与WSGI
阅读量:6546 次
发布时间:2019-06-24

本文共 901 字,大约阅读时间需要 3 分钟。

刚开始接触到python及Flask框架时,总是会听到 wsgi等等相关的名词,以及 项目部署时会用到nginx+gunicorn等等,但是对于一个请求从 nignx到gunicorn再到falsk框架中间经历的却一直似懂非懂。现在总结一下。

 

WSGI server:负责从客户端接受请求,将request转发给 WSGI application,再将  WSGI application返回的response传给客户端。

WSGI application:负责接受从WSGI server 发送来的 request,出来完请求后,将response返回给WSGI server。此application可以包括多个栈结构的中间件(比如django)

WSGI:全名(Web Server Gateway Interface)是一种规范协议(和http协议一个级别),规定了WSGI serverWSGI application如何进行通信。

uWSGI:一个web服务器,实现了WSGI,uwsgi,http等协议。如下官网引用(有的教程害死人,大小写不仔细区分,导致错误的理解,所以特意看了官网的解释:):

The uWSGI project aims at developing a full stack for building hosting services 

uwsgi:一种通信协议,专服务于uWSGI服务器

 

一般通过supervisor+nginx+gunicorn的部署结构的请求步骤如下:

其实Flask等web框架内部已经有了一个 WSGI server用来接受请求,只是因为其自带的server在处理并发等情况时不够优秀,毕竟这些框架的重点放在了WSGI applicaiton的层面上。所以在生产部署时,才需要 额外的gunicorn或uWSGI服务器(实现WSGI server)来代替框架内部的WSGI server.

 

相关网址:

 

转载于:https://www.cnblogs.com/rgcLOVEyaya/p/RGC_LOVE_YAYA_830days_1.html

你可能感兴趣的文章
网页的缓存Cache与控制
查看>>
对象的比较与排序(七):对泛型列表进行排序和搜索:Comparison<T>和Predicate<T>的应用...
查看>>
SQL重复记录查询的几种方法
查看>>
[网络流24题] 最长递增子序列 (最多不相交路径---网络最大流)
查看>>
golang slice 切片原理
查看>>
Tyvj1933绿豆蛙的归宿
查看>>
non-overlapping-intervals
查看>>
minimum-number-of-arrows-to-burst-balloons(还挺好)
查看>>
【算法】二分查找
查看>>
爬虫大作业
查看>>
Python3多进程与多线程区别及使用(1.进程)
查看>>
过河问题
查看>>
前端常用框架
查看>>
英语每日阅读---6、VOA慢速英语(翻译+字幕+讲解):性格沉静内向的人 能为社会创造更多价值...
查看>>
html5--3.9 input元素(8)
查看>>
IIS出现Service Unavailable 错误
查看>>
day12--数据库(Mysq)
查看>>
Java学习笔记之==与equals
查看>>
XShell 评估到期
查看>>
织梦CMS v5.7 安装以后登录出现空白页【解决方法】
查看>>