使用nginx和gunicorn的目的是什么?

edd*_*dys 8 python nginx flask gunicorn

我想使用gunicorn进行使用flask/python的restapi应用程序.在这里添加nginx到gunicorn的目的是什么?gunicorn网站建议使用带有nginx的gunicorn.

edd*_*dys 25

Nginx 具有一些 gunicorn 没有的 Web 服务器功能(例如,提供静态页面;SSL 处理),而 gunicorn 实现了 WSGI(nginx 没有)。

...等等,为什么我们需要两台服务器?将 Gunicorn 视为将在 nginx 之后运行的应用程序 Web 服务器 - 前端 Web 服务器。Gunicorn 是 WSGI 兼容的。它可以与其他支持 WSGI 的应用程序通信,如 Flask 或 Django。

来源:https : //realpython.com/blog/python/kickstarting-flask-on-ubuntu-setup-and-deployment/

  • NGINX 和 Apache 无法直接与 Python 基础 Web 应用程序通信,这就是为什么我们需要网关接口来解释和处理对 Python 的请求。我们有不同的网关 Mod_WSGI、uWSGI 和 Gunicorn。Apache 或 NGINX 收到第一个请求,然后网关收到 python 应用程序,反之亦然。 (3认同)

los*_*zen 8

Gunicorn 是一个用于运行您的 Python 应用程序实例的应用程序服务器。

NGINX 是一个反向代理。它接受传入的连接并决定它们下一步应该去哪里。它就在古尼康面前。


Jah*_*nov 7

Nginx是Gunicorn的反向代理.Gunicorn为您的烧瓶应用程序服务,Nging坐在它前面,决定请求应该去哪里.例如,如果传入请求是一个http请求,Nginx会将其重定向到gunicorn,如果它是一个静态文件,它会自行提供.阅读更多关于如何使用Nginx ang Gunicorn以及如何从这里开始部署它们的信息:http: //rahmonov.me/posts/run-a-django-app-with-gunicorn-in-ubuntu-16-04/


sub*_*.py 5

你知道为什么姜戈吉祥物是小马吗?故事是 Django 提供了很多你想要的东西:ORM、各种中间件、管理站点……?“你还想要什么,小马?” 好吧,Gunicorn 代表“绿色独角兽”-obviousthetestinggoat.com

  • Nginx 是您服务器的前端。
  • Gunicorn 在单个服务器(比如 Ubuntu)中运行多个 django 项目(每个项目都是由 Gunicorn 提供支持的 wsgi 应用程序)。

每个请求都到达 nginx 并询问它应该转到哪个 gunicorn 应用程序并重定向它。

注意- Gunicorn 不能像本地 django 服务器那样自动提供静态文件。因此,您将再次需要 nginx。