首页 > 解决方案 > 使用 Nginx 作为 Flask 应用程序的代理服务器的目的是什么?

问题描述

我最近开始使用 Flask 框架与 Node.js 并排使用,并且从未听说过为 Node.js 应用程序设置代理服务器。所以我想知道为什么有必要使用 Nginx 作为 Flask 应用程序的代理服务器?

此外,将 Flask 应用程序部署到生产环境的最佳方式是什么?

这个问题Are a WSGI server and HTTP server required to serve a Flask app? 给了我一些关于 WSGI 服务器和 HTTP 服务器的想法。

我也对是否可以为 Node.js 应用程序使用代理服务器感到困惑。

请有人帮我解决这个问题。

标签: pythonnginxflask

解决方案


NGINX 是一个 HTTP 服务器,用于许多不同的应用程序堆栈。它执行很多功能,但不能直接与 Flask 应用程序交互。

这就是 Gunicorn 发挥作用的地方。HTTP 请求由 NGINX 接收并传递给 Gunicorn 以由您的 Flask 应用程序处理(想想在您的 views.py 中定义的路由)。

Gunicorn 是一个 WSGI 服务器,它处理 HTTP 请求并将它们路由到任何符合 WSGI 的 Python 应用程序,例如 Flask、Django、Pyramid 等。

详细说明


推荐阅读