分享

记录一次504超时的解决方案

 昵称54185769 2018-06-11

环境:django + uwsgi + nginx

nginx报错如下:

2017/03/30 20:23:38 [error] 256846#0: *34209 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 127.0.0.1, server: devops.jd.com, request: "POST /api/recv_cmdbfile/ HTTP/1.1", upstream: "uwsgi://unix:/export/App/DevOPS/Python_20160906/Python_20160906.sock", host: "127.0.0.1"

发现nginx连接后端connection timed out

解决方案:1,调大uwsgi的超时参数设置,
http-timeout = 1080
socket-timeout = 1080

重启uwsgi发现故障依旧,新加参数删除

解决方案2:调大nginx的超时参数设置
proxy_connect_timeout           1080;
proxy_read_timeout              1080;
proxy_send_timeout              1080;

重启nginx发现故障依旧,新加参数删除

解决方案3:在想是不是django框架里面有超时限制,发现并没有
解决方案4:后来看nginx官方文档,发现proxy_read_time针对的是反向代理转发的超时,不是uwsgi的超时,
uwsgi_send_timeout 1060;        # 指定连接到后端uWSGI的超时时间。

uwsgi_connect_timeout 1060;   # 指定向uWSGI传送请求的超时时间,完成握手后向uWSGI传送请求的超时时间。
uwsgi_read_timeout 1060;        # 指定接收uWSGI应答的超时时间,完成握手后接收uWSGI应答的超时时间。

重启nginx,504不在,nginx了解的还不深入

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多