如何理解Nginx, WSGI, Flask(Django)之间的关系
2024-09-01 17:48:02
如何理解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,我收到了,我把响应结果返回给客户端。大家合作愉快~
最新文章
- APP国际化
- Query通过Ajax向PHP服务端发送请求并返回JSON数据
- ASP.NET 日期 时间 年 月 日 时 分 秒 格式及转换
- APPlication,Session,Cookie,ViewState和Cache之间的区别
- c++ 读取并解析excel文件方法
- ​ScrollView、ListView嵌套
- 减小Delphi的Exe文件大小(11种方法)
- C# Mutex
- 自定义ComboBox,简简单单实现
- python chanllenge题解
- Android的ProgressBar进度条-android学习之旅(三十一)
- MVC人员管理系统
- c++文件的读写
- Java编写一个随机产生小学生四则运算题30道
- 将Django部署到Linux
- Js扩容
- 动态规划-独特的子字符串存在于Wraparound String总个数 Unique Substrings in Wraparound String
- docker 安装完mysql 后客户端无法访问
- JAVA对图片的任意角度旋转,以及镜像操作
- input[type=";checkbox";]与label对齐