当前位置: 首页 > 知识库问答 >
问题:

NGINX和Gunicorn并行运行的目的是什么?

苏宜人
2023-03-14

亚马逊EC2上的许多Django应用程序部署使用HTTP服务器NGINX和GUnicorn。

我想知道它们实际上是做什么的,为什么两者并行使用。并行运行它们的目的是什么?

共有2个答案

强硕
2023-03-14

Nginx和Gunicorn不用于Parralel。

  • GUnicorn,是一个Web服务器网关接口(WSGI)服务器实现,通常用于运行Python Web应用程序。
  • NGINX是一个免费的、开源的、高性能的HTTP服务器和反向代理,也是一个IMAP /POP3代理服务器。
  • Nginx负责提供静态内容、gzip压缩、ssl、proxy_buffers和其他HTTP内容。而Gunicorn是一个Python HTTP服务器,它与nginx和实际的python Web应用程序代码接口,以提供动态内容。

下图显示了nginx和Gunicorn的交互方式。

姬雪松
2023-03-14

它们不是并行使用的。NGINX是一个反向代理。这是第一个。它接受传入的连接,并决定它们下一步应该去哪里。它还(通常)服务于静态媒体,如CSS、JS和图像。它还可以做其他事情,如通过SSL加密,缓存等。

GUnicorn是下一层,是一个应用服务器。NGINX看到传入的连接是针对www.domain.com的,并且知道(通过配置文件)它应该将该连接传递给GUnicorn。GUnicorn是一个WSGI服务器,它基本上是:

web服务器与web应用程序或框架之间的简单通用接口

Gunicorn的工作是管理和运行Django实例(类似于在开发过程中使用Django admin runserver

与此设置相反的是将Apache与mod_wsgi模块一起使用。在这种情况下,应用程序服务器实际上是Apache的一部分,作为模块运行。

 类似资料:
  • 问题内容: 我是新来的,仅使用nginx提供静态文件。我现在已经安装了flask and gunicorn。如果我运行,然后从服务器中获取它,它将运行良好。但是,如果尝试从浏览器访问它,它将返回404错误(我正在托管位于root用户的wordpress网站的服务器上运行此错误)。 Flask应用程序: 以及我的nginx配置的相关部分: 我希望这是所有相关信息。如果没有,请告诉。谢谢! 问题答案:

  • 问题内容: 我要进行Flask + Nginx + Gunicorn部署。我已经安装并正在运行Nginx,并且按照文档中的说明运行gunicorn: 但是,当我注销服务器时,gunicorn进程退出了吗?确保Nginx保持连接状态并在崩溃时重新启动的正确方法是什么? 问题答案: 运行Gunicorn时使用选项。例:

  • 问题内容: 我环顾了一阵子,我很惊讶地发现Gunicorn是否在Windows上运行,没有任何信息。有谁知道是这种情况,如果是,我在哪里可以找到有关它的文档? 问题答案: Gunicorn用于UNIX环境,并且与Windows不兼容。另外,有关更多信息,请参阅它的文档。

  • nginx命令行参数 不像许多其他软件系统,Nginx 仅有几个命令行参数,完全通过配置文件来配置 -c </path/to/config> 为 Nginx 指定一个配置文件,来代替缺省的。 -t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。 -v 显示 nginx 的版本。 -V 显示 nginx 的版本,编译器版本和配置参数。 ng

  • 在我们的生产服务中,我计划将Cosmos DB SDK从v2(microsoft.azure.documentdb)升级到最新的v3(microsoft.azure.Cosmos)。 null 目前,我们的DocumentClient被设置为在直接模式(TCP协议)下工作,我们希望在相同的模式下使用CosmosClient。

  • 问题内容: 我一直在为我的应用程序使用nginx / gunicorn和Flask开发新的开发平台。 运维方面,一切正常-我遇到的问题是调试Flask层。当我的代码中有错误时,我只是直接向浏览器返回了500错误,而控制台或日志中没有任何显示。 我已经尝试了许多不同的配置/选项。我想我肯定缺少明显的东西。 我的gunicorn.conf: 乏味的一些Flask代码示例-testserver.py: