http状态码 502.504,499(转)
502: bad gateway, 表象:从上游服务接收到无效响应 原因:请求提交给网关如php-fpm,由于某些原因导致php-fpm进程终止执行,与网关服务php-fpm配置有关 主要配置:max_children: 最大子进程数,在高并发达到最大响应数,后续请求会502(可通过netstat命令查看当前连接数) request_terminate_timeout:设置单个请求的超时时间, 超时请求终止时,也会出现502 另外:积累大量请求,数据库进程locked,死锁导致超时,也会导致502 504 gateway timeout 表象:等待响应超时,未能及时从上游服务收到响应 原因:与nginx.conf配置有关 fastcgi_connect_timeout: 连接超时,默认60s fastcgi_send_timeout: nginx发送fastcgi超时时间, 默认60s fastcgi_read_timeout: fastcgi响应nginx超时时间, 默认60s 另外:fastcgi缓存区太小会导致fastcgi进程被挂起,从而也会演变为504 499 client has closed connection 服务端响应时间过长,客户端“不耐烦”,主动关闭连接 可以通过 proxy_ignore_client_abort 值为on 不允许关闭客户端连接(client指nginx) 问题排查汇总: 502: max_children, request_terminate_timeout; 数据库; 网关服务是否启动; 504: 程序在处理大量数据,导致等待超时;程序调用外部请求,而外部请求响应超时;连接数据库失败,而没有停止,死循环新连;
端口检查:
$ ps -ef |grep java #检查进程是否在
$ sudo netstat -lntp |grep PORT #检查端口有没有起来
$curl -I 127.0.0.1:PORT/health #应用健康检查测试下,Your health check path
https://blog.csdn.net/fdipzone/article/details/79355576
https://www.cnblogs.com/coding-wtf/p/7989905.html
https://blog.csdn.net/wangtingting_100/article/details/81106767