记录一次504超时的解决方案
环境: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了解的还不深入
原创:做时间的朋友
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示