nginx 504故障排查方法是什么

这篇文章主要讲解了“nginx 504故障排查方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx 504故障排查方法是什么”吧!

技术背景

LNMP环境下,反向代理服务器nginx错误日志大量报错,显示504

nginx 504故障排查方法是什么

504.png

upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond) while reading response header from upstream

理论回看

Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI

一般情况下,web应用程序提交动态请求的时候,nginx会直接把 请求转交给php-fpm,而php-fpm再分配php-cgi进程来处理相关的请求,之后再依次返回,最后由nginx把结果反馈给客户端浏览器。

原因列举如下

1 作为调用方,服务提供方接口异常,造成访问超时,nginx交由PHP处理的任务长时间没有返回,nginx直接返回504。而这种超时,在PHP调用层面的的代码逻辑里很难捕获到,并且习惯上也不捕获,交由框架层面的异常捕获器。

2 作为服务提供者,自身服务访问数据库超时不返回或者PHP层面业务处理严重耗时,程序设计不合理,造成长时间延迟超时。

nginx 504故障排查方法是什么

fastcgi进程

问题追踪

如果PHP服务出现短时间大量504错误,会把整个fastcg通道拥塞堵死,最后就是PHP服务挂了。

如果多个服务以虚拟主机的形式在同一台服务器上,那么这多个服务都会收到影响,最直观的前台体验就是访问速度慢,或者直接打不开。

定时任务,跑批,数据库批量数据更新相关业务容易出现nginx错误。

网络上通过配置解决504的方式,正常情况下不建议使用,优先考虑程序设计和实现方面的不足

感谢各位的阅读,以上就是“nginx 504故障排查方法是什么”的内容了,经过本文的学习后,相信大家对nginx 504故障排查方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程之家,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...