nginx - 为什么要在 Flask 应用程序中使用 uWSGI 和主管,而不仅仅是主管?

标签 nginx flask uwsgi supervisord

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

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

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

最佳答案

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

关于nginx - 为什么要在 Flask 应用程序中使用 uWSGI 和主管,而不仅仅是主管?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23547163/

相关文章:

ruby-on-rails - 如何将 ngx_http_mp4_module 添加到 heroku 应用程序?

javascript - 困惑为什么Javascript AJAX成功: JSON data is "invalid"

python - 无法使用 SQL ALchemy 创建外键

django - docker、nginx、django 以及如何提供静态文件

nginx - 在Nginx中使用别名作为相对URL时的禁止位置

nginx - spawn-fcgi: child 退出:13

python - 如何使用本地服务器的 nginx 将 http 转换为 https(自签名证书)

Python Flask 只运行一次代码

ssl - 如何为flask api和客户端配置ssl证书

python - 多个处理器记录到同一个旋转文件