网站首页 > 精选教程 正文
一般的web框架还会提供一个简易的http server, 比如你在flask中 app.run(). 其实就是启动了一个http server,这个server做的事情就是监听端口,把http请求转换为wsgi的请求,传递给wsgi app处理, 再把wsgi app返回的wsgi 响应转换为http的响应,返回给客户端。
1. 理论上 nginx 可以通过一些手段不用 gunicorn 这玩意。
2. 计算机世界里面的多一层的解决方案,都是是为了好管理,是为了职责清晰。
3. 某个场景下可以,不代表在这个场景下这么做就好。比如,你可以去搬砖,但你没必要去搬砖,甚至说,你搬砖水平不如专业搬砖的。
举几个例子
1. 僧多粥少。nginx 可以上万并发,而正常的 python server 根本不够这么多并发。那么很简单,把nginx作为负载均衡,雨露均沾的分配请求到这些web服务器上。如果直接部署。则是把这些东西耦合在一起。没法scale。
2. 让专业的去做专业的事情。gunicorn有很多worker的姿势,比如支持 sync worker,gevent worker,比如tornado worker。nginx 如果全都支持,那岂不是要累死nginx团队?
3. 精准控制,比如gunicorn的sync worker是支持prefork,这也就意味着可以在收到足够多的请求的时候,预先帮你提升worker数量,来处理。比如,gunicorn 进程的用户可能和nginx不一样,具备更高的权限,你用nginx处理,是不是就有点简单粗暴了呢?再比如,我要针对wsgi做一些监控。这怎么处理?TG:li9047
猜你喜欢
- 2024-10-22 Django:虚拟环境和Django的安装(一)
- 2024-10-22 uwsgi 运行flask程序的原理是什么
- 2024-10-22 第2天 | Django3.0项目实战,项目详解
- 2024-10-22 NGINX Unit 1.21.0 发布 nginx/1.8.1
- 2024-10-22 使用 Python 和 Flask 架设网站:入门指南
- 2024-10-22 Centos6下利用nginx+uwsgi+flash发布网站
- 2024-10-22 Python WSGI 高性能服务器 - Gunicorn 简介
- 2024-10-22 Python的web框架对比及生产部署方案
- 2024-10-22 Python Django知识总结 python django教程
- 2024-10-22 大厂面试系列(五):Dubbo和Spring Cloud
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)