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

Nginx 为什么将uWSGI和supervisor与Flask应用程序一起使用,而不仅仅是supervisor?,nginx,flask,uwsgi,supervisord,Nginx,Flask,Uwsgi,Supervisord,我通常使用uWSGI和前面的nginx运行我的Flask应用程序 但是我想,只要supervisor和nginx就可以实现同样的效果,所以我在谷歌上搜索了很多关于如何设置uWSGI supervisor nginx堆栈以及它的好处的帖子。我决定求助于这样一个问题,冒着在网上被解雇的风险 那么,在uWSGI、supervisor和nginx背后运行Flask应用程序有什么好处呢? 为什么显然没有人在只有主管的情况下运行Flask应用程序?这都是关于性能的。通常,构建在Flask或Django等框架

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

但是我想,只要supervisor和nginx就可以实现同样的效果,所以我在谷歌上搜索了很多关于如何设置uWSGI supervisor nginx堆栈以及它的好处的帖子。我决定求助于这样一个问题,冒着在网上被解雇的风险

那么,在uWSGI、supervisor和nginx背后运行Flask应用程序有什么好处呢?
为什么显然没有人在只有主管的情况下运行Flask应用程序?

这都是关于性能的。通常,构建在Flask或Django等框架中的服务器是为开发环境设计的,您可以快速、轻松地重新加载所更改的代码

当您在生产环境中运行应用程序时,不必经常担心调试和重新加载代码。您最关心的是性能、安全性和配置。在设置生产环境期间,您可以在uWSGI、Gunicorn、mod_wsgi和其他许多产品中进行选择


你可以找到很多博客文章,它们之间有基准,你可以选择一个最适合你的

nginx使用应用服务器,如gnicorn或uWSGI(用于托管flask应用程序)。nginx是一家中介公司。这有助于负载平衡——通过在资源上分配工作负载,有效地处理多个请求。除此之外,supervisor仅用于监视和控制服务器进程(在我们的示例中是gunicorn或uWSGI)。
据我所知,Flask()附带的web服务器尚未投入生产,只能用于开发目的。

这个问题似乎属于Stack Exchange网络中的另一个站点,因为它与编程无关。也许是。