代码之家  ›  专栏  ›  技术社区  ›  Alex

将AWS ELB直接与Gunicorn(无nginx)一起使用有哪些缺点?

  •  15
  • Alex  · 技术社区  · 7 年前

    我在谷歌上找到的在AWS上运行django应用程序的典型设置都建议使用如下设置:

    我想知道为什么这里真的需要nginx部分?ELB不足以作为代理吗?

    在我们的例子中,我们在ECS上的单个docker容器中运行多个Gunicorn/django实例。

    2 回复  |  直到 7 年前
        1
  •  15
  •   mostafazh    7 年前

    如果没有Nginx,它可以正常工作,并且您仍然可以免受大多数DDOS攻击的影响,这些攻击可能会导致暴露的gunicorn服务器宕机。

    我只能看到Nginx有助于添加到堆栈中,如果它将服务于您的静态文件。然而,通过S3(额外增加cloudfront)为静态文件提供服务要好得多,因为它具有高可用性和可靠性。

    资料来源: http://docs.gunicorn.org/en/latest/deploy.html#nginx-configuration https://stackoverflow.com/a/12801140

        2
  •  4
  •   Shivansh Jagga    4 年前

    1. ELB公司 s、 它更像是一个通用负载平衡器。
    2. ELB公司 对Gunicorn服务器的传入请求。在将其转发给Gunicorn之前,它不会收到完整的请求,即,如果由于来自客户端的互联网连接不良或任何其他原因,请求的标头/正文发送缓慢,则Gunicorn服务器将在开始处理请求之前等待请求完成。一般来说 允许同一个服务器作为web服务器和应用程序服务器是一种不好的做法 ,因为这会占用应用服务器(Gunicorn)的资源。
    3. Nginx还有帮助 并使用GZIP压缩,从而更快地从客户端/服务器发送/接收数据。

    此外,即使在 Gunicorn的文件