为什么将uWSGI和主管与Flask应用程序一起使用,而不仅仅是主管?

mac*_*erk 7 nginx flask uwsgi supervisord

我通常使用uWSGI和前面的nginx运行我的Flask应用程序.

但我认为只有supervisor和nginx才能实现同样的目标,所以我搜索了很多关于如何设置以及uWSGI-supervisor-nginx堆栈的好处的帖子.我决定转向SO,冒着被网上这个问题的风险.

那么在uWSGI,supervisor和nginx之后运行Flask应用程序有什么好处?为什么显然没有人只使用主管运行Flask应用程序?

小智 3

诸如 gnicorn 或 uWSGI(用于托管 Flask 应用程序)之类的应用服务器与 nginx 一起使用。nginx 是一个反向代理服务器,充当中间人。这有助于负载平衡 - 通过在资源上分配工作负载来有效处理多个请求。最重要的是,supervisor仅用于监视和控制服务器进程(在我们的示例中为gunicorn或uWSGI)。据我了解,Flask 附带的 Web 服务器(werkzeug 服务器)尚未准备好用于生产,仅应用于开发目的。