WSGI uWSGI uwsgi三兄弟

WSGI,uwsgi,uWSGI 执行流程

在这里插入图片描述
用户发送请求到服务器(nginx)然后服务器根据配置的代理ip请求代理服务器(uWSGI)然后代理服务器根据WSGI协议发送请求到Django框架或Flask框架等。再有框架去请求数据库或redis拿到数据进行返回。
流程大体是这样子。
当一个用户发送请求的时候比如说请求网址www.huya.com通过http协议到达nginx服务器,在服务器配置的负载均衡回去请求A代理服务器,如果A请求不通再去请求B然后。请求uWSGI服务器是需要和nginx商量好两端的协议使用什么,这就是服务器去请求服务端。然后uWSGI服务器带着WSGI协议去请求应用程序。要注意的是uWSGI并不是协议而是一个服务器,他是发送协议的。

WSGI

wsgi server (比如uWSGI服务器) 要和 wsgi application(比如django框架 )交互,uwsgi需要将过来的请求转给django 处理,那么uWSGI 和 django的交互和调用就需要一个统一的规范,这个规范就是WSGI WSGI(Web Server Gateway Interface)

WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。自从 WSGI 被开发出来以后,许多其它语言中也出现了类似接口。

WSGI 的官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。

WSGI 是作为 Web 服务器与 Web 应用程序或应用框架之间的一种低级别的接口,以提升可移植 Web 应用开发的共同点。WSGI 是基于现存的 CGI 标准而设计的。

WSGI是Web 服务器(uWSGI)与 Web 应用程序或应用框架(Django)之间的一种低级别的接口

uWSGI

uWSGI是一个web服务器他实现了WSGI协议、uwsgi协议、http等协议。nginx中的HttpUwsgiModule的作用是和uWSGI服务器进行交互

uwsgi

uwsgi是服务器和服务端应用程序的一种协议,规定了怎么把请求转发给应用程序和返回; uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章