python - 使用 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 应用程序使用代理服务器感到困惑。
请有人帮我解决这个问题。
解决方案
NGINX 是一个 HTTP 服务器,用于许多不同的应用程序堆栈。它执行很多功能,但不能直接与 Flask 应用程序交互。
这就是 Gunicorn 发挥作用的地方。HTTP 请求由 NGINX 接收并传递给 Gunicorn 以由您的 Flask 应用程序处理(想想在您的 views.py 中定义的路由)。
Gunicorn 是一个 WSGI 服务器,它处理 HTTP 请求并将它们路由到任何符合 WSGI 的 Python 应用程序,例如 Flask、Django、Pyramid 等。
推荐阅读
- c++ - 使用异步是否总是让 C++ 代码更快
- javascript - 在本机反应中将javascript数组类型传递给java函数
- python - Python文件数据位置
- python - 二十一点游戏中导致循环错误和无限滚动
- c# - .NET Core 3.1 - RSA.ImportRSAPrivateKey 引发 CryptographicException
- ruby-on-rails - 如何通过角色和电影设计 has_many:在 Rails 6 中
- apache-kafka - 我可以通过现有的 CLI 获得一个简单的独立 Kafka Producer,而无需拖入整个 Kafka 代理库吗
- flutter - 在颤振应用程序中添加 Alan_AI 依赖项会导致错误
- ios - Xamarin iOS 和 iOS 14 UISplitViewController 三列
- reactjs - 增量静态再生中的重新验证过程如何工作?