【问题标题】:Python Nginx Production TimeoutPython Nginx 生产超时
【发布时间】:2017-03-24 13:34:06
【问题描述】:

我已经构建了一个快速瓶应用程序,它调用外部 API 并更新一些字段。当我在我的开发机器上运行这个应用程序时,它运行了大约 3 分钟,因为它正在与之交谈的 API 相当慢。

当我将应用程序移到我们的生产环境中时,我收到了 502 响应。它在启动后正好 30 秒就爆炸了。我相信这是一个超时。

我按照本指南设置环境: https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04

有人知道如何增加 NGinx 的超时时间吗?我尝试使用设置 proxy_connect_timeout 是 NGinx conf 文件,但它没有解决问题:

proxy_connect_timeout   300;
proxy_send_timeout      300;
proxy_read_timeout      300;

任何帮助将不胜感激。

【问题讨论】:

  • 它应该通过增加proxy_read_timeout 600来工作。在 nginx.conf 文件中。

标签: python ubuntu nginx uwsgi


【解决方案1】:

您可以尝试通过添加以下内容来升级 Nginx 中代理传递的超时时间:

proxy_connect_timeout 75s;
proxy_read_timeout 300s;

/etc/nginx/sites-available/default/etc/nginx/nginx.conf 上,如果你想增加 nginx 服务的所有站点的超时限制。

您还必须将 --timeout 300 添加到您的 gunicorn 进程/配置中。

这解决了我过去上传更大的问题。

【讨论】:

  • 太棒了。我究竟如何找到 gunicorn 进程/配置文件?另外,uWSGI 和 Gunicorn 一样吗?
  • 两者目标相同但不一样。可以参考这个配置gunicorn http://agiliq.com/blog/2013/08/minimal-nginx-and-gunicorn-configuration-for-djang/
  • 您可以使用此命令在生产环境中使用 uwsgi uwsgi --http 0.0.0.0:8134 --wsgi-file UniservedWebsite/wsgi.py & 运行您的应用程序,并将您的 nginx 引用到 0.0.0.0:8134 并添加 http-timeout
  • 太棒了。你节省了我很多时间。谢谢这个人。 :)
猜你喜欢
  • 2023-01-26
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
  • 1970-01-01
  • 2017-03-23
  • 2017-07-21
  • 2012-04-08
相关资源
最近更新 更多