为了账号安全,请及时绑定邮箱和手机立即绑定

一个Python web应用, 同时使用了nginx, gunicorn, supervisord, 这三者分别扮演什么角色?

一个Python web应用, 同时使用了nginx, gunicorn, supervisord, 这三者分别扮演什么角色?

ibeautiful 2019-02-20 21:58:08
2016/12/19 描述 粗想一下, 以为自己知道, 但是细想下, 却是不明白其中细节 nginx 前端反向代理 gunicorn 作为wsgi server 接受nginx分发来的请求 --> web应用 supervisord 做进程控制(???) 据我搜索到的资料( 一些对gunicorn, supervisord 的介绍 ), gunicorn和supervisord是不是有功能上的重叠?
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

1.nginx常做反向代理,但是这里的Python Web应用,nginx就是一个Web服务器,处理浏览器发送过来的HTTP请求,不做“反向代理”的功能(正向代理和反向代理的概念,题主需要再梳理一下)-> 这个更正一下,nginx在此处的使用方法确实是反向代理,代理的方式是uwsgi_proxy;nginx反向代理不止是支持http协议,还支持uwsgi,fastcgi,scgi,memcached等众多协议。
2.gunicom或者uwsgi是用来接收nginx分发来的请求,连接nginx和Python代码。
3.supervisord是一项监控服务,用来监控被管理的应用健康和使用情况:如果被监控应用(s)异常退出,suervisord会自动启动这些应用,并记录相应的日志便于后期分析。

以上应用并不存在特别的功能上的重叠。

查看完整回答
反对 回复 2019-03-04
  • 1 回答
  • 0 关注
  • 517 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信