【问题标题】:How change buffer-size in gunicorn(django) + nginx + docker如何在 gunicorn(django) + nginx + docker 中更改缓冲区大小
【发布时间】:2019-10-01 13:33:07
【问题描述】:

我的问题是,在某些应用程序接收 body size large(xml) 并返回 xml large 的请求中,请求返回 502。这是随机发生的。

我认为它正在运行缓冲区溢出。

我的应用程序在 docker 中使用 wsgi 之类的 guinicorn 运行。我想将缓冲区大小的值更改为 64k。我怎么做?

我的 gunicorn 部署命令

python manage.py migrate && gunicorn backend.wsgi:application -b 0.0.0.0:8000 --workers 3 --log-level=info

我可能弄错了,我的基地在: Nginx uwsgi (104: Connection reset by peer) while reading response header from upstream

错误日志 nginx

38286 upstream prematurely closed connection while reading response header from upstream

【问题讨论】:

  • 您的日志应该会告诉您 502 的来源以及确切原因。你在你的独角兽日志中看到了什么? nginx日志?甚至可能是 django 日志?
  • 我也有同样的问题。如果使用 uwsgi,可以在 uswgi.ini 文件中指定缓冲区大小: [uwsgi] buffer-size = 32768 但是使用 gunicorn 时如何做到这一点?
  • 您解决了这个问题吗?因为我有同样的问题。

标签: django docker nginx gunicorn wsgi


【解决方案1】:

我认为是 nginx 问题,请查看client_max_body_size

【讨论】:

  • 会引发这个错误吗?我认为 nginx 接收请求并重新传递 gunicorn,但出于任何原因都没有找到 gunicorn(502 坏网关)。
猜你喜欢
  • 2020-02-05
  • 2016-02-01
  • 2015-10-26
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-15
相关资源
最近更新 更多