一次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连接相关信息,保留的是内部环境参数。连接数据库错误后导致后续处理超时卡死。

总结:

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

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

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

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

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...