一次nginx “time out”故障排查
创始人
2024-03-27 19:57:43
0

研发请求协助排查一个nginx故障。

描述如下:

在内部环境测试没问题。

打包到生产环境后,访问nginx接口地址超时。

研发比对后怀疑是nginx版本不一致导致。内部版本1.23.2,生产环境1.23.1.

收到信息第一感觉不是nginx的问题。不过先测试一下,现象跟研发描述的一样。

登录服务器,看了nginx.conf配置,发现访问这个端口后,实际做了转发。转发给内网地址:http://10.0.0.7:8000

这个端口是java启动的一个服务。

使用ss -lntp查看,这个服务端口是存在的。

在使用内存命令测试端口
nc -w 2 -z -v 10.0.0.7 8000

端口也是有反应。

老办法,查看access.log,看到输出500错误码。

再查看error.log,确实有timeout的错误提示。

 这样看来是转发给接口地址后没有了反馈。

不过为了排除版本问题,还是升级到1.23.2,当然问题依旧。

研发只好再代码里添加的debug信息。

根据debug信息输出,可以判断到,请求接受到了,但是再调用第一个function时就没有反馈信息了。虽然还不知道啥问题,但是基本确定就是程序某个地方导致故障。

接下来就是研发一点点排查,最终结果是代码打包时,没有修改database连接相关信息,保留的是内部环境参数。连接数据库错误后导致后续处理超时卡死。

总结:

内部测试通过,放到生产环境时出现问题,很多时候就是使用了内部环境参数导致的。

建议把相关参数提取出来,作为配置文件单独存放。

排查问题,顺着执行流,排除其它环节后,剩下的环节就是问题所在。

最后一点就是不能急躁,保持冷静。

相关内容

热门资讯

【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
ChatGPT 怎么用最新详细... ChatGPT 以其强大的信息整合和对话能力惊艳了全球,在自然语言处理上面表现出了惊人...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...