【问题标题】:Why use uWSGI and supervisor with a Flask app, and not just supervisor?为什么要在 Flask 应用程序中使用 uWSGI 和 supervisor,而不仅仅是 supervisor?
【发布时间】:2014-06-26 03:55:39
【问题描述】:

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

但我认为只使用 supervisor 和 nginx 就可以实现相同的目标,所以我搜索了一下,发现了很多关于如何设置以及 uWSGI-supervisor-nginx 堆栈的好处的帖子。我决定求助于 SO,冒着因为这样的问题在网上被砍掉的风险。

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

【问题讨论】:

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

标签: nginx flask uwsgi supervisord


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    您可以找到大量带有基准的博客文章,然后选择最适合您的一篇。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-21
      • 2022-12-17
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      相关资源
      最近更新 更多