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

2024-02-03

许多通过 Amazon EC2 部署的 Django 应用程序都使用 HTTP 服务器 NGINX 和 Gunicorn。

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


它们不并行使用。 NGINX 是一个反向代理 http://en.wikipedia.org/wiki/Reverse_proxy。它排在第一位。它接受传入的连接并决定它们下一步应该去哪里。它还(通常)提供静态媒体,例如 CSS、JS 和图像。它还可以做其他事情,例如通过 SSL 加密、缓存等。

Gunicorn 是下一层,是应用服务器 http://en.wikipedia.org/wiki/Application_server。 NGINX 看到传入的连接是为了www.domain.com并知道(通过配置文件)它应该将该连接传递到 Gunicorn。古尼角兽是一个WSGI http://en.wikipedia.org/wiki/Web_Server_Gateway_Interface服务器基本上是:

Web 服务器和 Web 应用程序或框架之间的简单且通用的接口

Gunicorn 的工作是管理和运行 Django 实例(类似于使用django-admin runserver开发期间)

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NGINX 和 Gunicorn 并行运行的目的是什么? 的相关文章

随机推荐

  • 使用 100% cpu 的相对简单的 Python 脚本

    我不会提供代码 因为它太长了 python 脚本涉及执行在 while 循环中运行的大量命令 基本结构 while True The meat goes here with the odd if and stuff 现在我已经完成了它 我注
  • iOS Swift 以编程方式连接 WiFi 并区分密码错误和范围内没有 WiFi

    NEHotspotConfiguration工作正常 但错误是nil当我尝试连接的 SSID 不可用 超出范围或关闭 或我提交的密码不正确时 我究竟做错了什么 我希望能够区分这两种情况 以便我可以相应地通知用户 代码片段 func conn
  • Grunt/Bundler 不会使用指定的 sass 版本

    我们有一个带有 Grunt 和 Bundler 设置的项目 所有这些都安装没有问题 生成了 Gemfile lock 下拉了正确的 gem 并使用 npm 创建了 grunt 文件 我们开始监视该项目 它在 sass 编译上崩溃 因为它使用
  • 测试 DataFrame 中的后续值

    我有一个 DataFrame 其中一列包含正整数和负整数 对于每一行 我想查看有多少连续行 从当前行开始并包括当前行 具有负值 所以如果一个序列是2 1 3 1 1 结果将是0 2 1 0 1 我可以通过迭代所有索引来做到这一点 使用 il
  • Python:如何让我的 tkinter 应用程序正确退出?

    我需要知道如何在 Mac 上执行此操作 因为每当我尝试退出它时 我都必须强制退出它 当用户单击退出按钮时 是否有正确的方法使 Tkinter 正常退出 我知道怎么做了 我只是放了一个简单的exit 主循环之后的命令
  • 在 Win32 / COM 方法上调用 PInvoke 时,通常会出现明显的性能影响吗?

    我想知道是否有人对在托管 Net 代码的 Win32 方法上使用 DLLImport PInvoke 的负面方面有一个不错的解释或概述 我计划使用各种 Win32 方法 并希望更好地了解这样做的负面影响 Thanks Brian 根据MSD
  • 如何在 EF CF 中设置 POCO 的默认值?

    在实体框架代码优先方法中 如何为 POCO 的 EntityConfiguration 类中的属性设置默认值 public class Person public int Id get set public string Name get
  • 应用程序最小化时的 Android 活动和片段生命周期问题

    我有一个带有多项选择列表的片段 我正在尝试保存当前在列表中检查的项目的实例 并在应用程序最小化等情况下恢复它们 测试步骤 到达多选列表片段 检查一些列表项 按主页键最小化应用程序 按多任务按钮并选择我的应用程序来恢复它 以下是我正在使用的代
  • PDFBox - PageDrawer 在 PdfPagePanel 外部绘制

    我正在使用 PDFBox 在我的应用程序中显示生成的 pdf 文件 我将 PdfPagePanel 添加到 JScrollPane 中 当我缩小窗口并出现滚动条时 PageDrawer 会绘制到滚动条上 这种效果也出现在 PDFReader
  • 如何在XSLT中实现if-else语句?

    我试图在 XSLT 中实现 if else 语句 但我的代码无法解析 有人有什么想法吗
  • 显示 git diff,忽略文件权限更改?

    我跑过好几个chmod在我的实时服务器中 现在当我做一个git diff在那里 我看到很多old mode 100644 new mode 100755 我还在那里更改了一些文件 但我只是 git diff 只是为了显示文件上的更改 忽略文
  • 保留的 ASP.NET MVC 控制器名称?

    所以我花了大约一个小时来调试为什么我收到客户端 404 和服务器端System Web Http HttpResponseException on System Web Http dll System Web Http Dispatcher
  • Chromium WebView 不存在

    我正在尝试使用 Phonegap 创建一个 Hello World 应用程序 但当我调用在模拟器上运行该应用程序时 它崩溃了 我遵循了指南here http docs phonegap com en edge guide platforms
  • Scikit-learn 从分段时间序列创建标记数据集

    INTRO 我有一个 Pandas DataFrame 代表分段的不同用户 即 user1 和 user2 的时间序列 我想使用上述 DataFrame 训练 scikit learn 分类器 但我无法理解必须创建的 scikit lear
  • 生成渐变进度条

    我正在使用下面的代码在进度栏中显示渐变 那么如何创建如上图所示的渐变进度条呢 我已经尝试了很多解决方案但还没有成功
  • 这段 PHP 代码有什么作用? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 最近接管一个网站 在多个文件中发现以下代码 认为是恶意代码 关于它的作用有什么想法吗 它似乎 第一行是 POST 第二行检查 POST 是
  • 当属性丢失时,如何强制 System.Text.Json 序列化程序抛出异常?

    Json NET 行为可以通过属性定义 如果 json 负载不包含必需的属性 则使用默认值或仅抛出异常 Yet System Text Json序列化器默默地什么也不做 正在上课 public sealed class Foo Requir
  • 为列的每种不同类型提取多个相似行

    Input col1 col2 col3 apple d 10 apple d 44 apple e 55 orange d 99 orange c 33 orange d 10 banana e 55 banana d 10 所需输出 c
  • 如何在 Linux 上的 VS Code 上捕获 C 程序中的 CTRL+C?

    在 Linux 上用 VS Code 编写 C 代码 I use signal SIGINT myhandler signal SIGHUP myhandler signal SIGKILL myhandler signal SIGTERM
  • NGINX 和 Gunicorn 并行运行的目的是什么?

    许多通过 Amazon EC2 部署的 Django 应用程序都使用 HTTP 服务器 NGINX 和 Gunicorn 我想知道它们实际上是做什么的以及为什么两者并行使用 并行运行它们的目的是什么 它们不并行使用 NGINX 是一个反向代