IT袋

当前位置:主页 > 经验教程 > 建站编程 >

502错误是什么、应该怎么排查

502错误是什么、应该怎么排查?(3)

时间:2024-03-20 15:00:39 来源:IT袋 作者:马勇
导读:502错误是什么、应该怎么排查,FIN与502的关系 第二个 原因,也是造成502状态码 最常见的原因 ,就是 服务端应用进程崩了(crash)。 服务端崩了,也就是当前没有一个进程在监听服务器

502错误是什么、应该怎么排查

502错误是什么、应该怎么排查

FIN与502的关系

第二个原因,也是造成502状态码最常见的原因,就是服务端应用进程崩了(crash)。

服务端崩了,也就是当前没有一个进程在监听服务器端口,而此时你却尝试向一个不存在的端口发数据,服务器的linux内核协议栈就会响应一个RST数据包。

同样,这时候nginx也会给客户端一个502。

502错误是什么、应该怎么排查

RST和502

在开发过程中,这种情况是最常见的

现在我们大部分的服务器都会将挂掉的服务重启,因此我们需要判断下服务是否曾经崩溃过

如果你有对服务端的cpu或者内存做过监控,可以看下CPU或内存的监控图是否出现过断崖式的突然下跌

如果有,十有八九百,就是你的服务端应用程序曾经崩溃过。

502错误是什么、应该怎么排查

cpu突然暴跌

除此之外你还通过下面的命令,看下进程上次的启动时间是什么时候。

ps -o lstart {pid}

比如我要看的进程id是13515,命令就需要像下面这样。

# ps -o lstart 13515
                 STARTED
Wed Aug 31 14:28:53 2022

可以看到它上次的启动时间是8月31日,这个时间如果跟你印象中的操作时间有差距,那说明进程可能是崩了之后被重新拉起了。

遇到这种问题,最重要的是找出崩溃的原因,崩溃的原因就多种多样了,比如,对未初始化的内存地址进行写操作,或者内存访问越界(数组arr长度明明只有2,代码却读arr[3])。

这种情况几乎都是程序有代码逻辑问题,崩溃一般也会留下代码堆栈,可以根据堆栈报错去排查问题,修复之后就好了。比如下面这张图是golang的报错堆栈信息,其他语言的也类似。

相关阅读

  • kafka是什么 主要特点有哪些?

    kafka是什么 主要特点有哪些?

    IT袋网网为你介绍kafka是什么的IT知识,一定能解决您的问题的,一起来了解吧! Kafka 是一个开源的分布式流式平台,它可以处理大量的实时数据,并提供高吞吐量,低延迟,高可靠性和高可扩

  • access数据库入门教程 数据库零基础入门教学

    access数据库入门教程 数据库零基础入门教学

    今天小编详解access数据库入门教程和数据库零基础入门教学的相关介绍,继续往下看吧! Access数据库除了选择查询,还有操作查询,它们有: 更新查询 生成表查询 追加查询 删除查询 来看看

  • c语言怎么输出语句 C#中怎样快速输出{get;set;}

    c语言怎么输出语句 C#中怎样快速输出{get;set;}

    对于c#初学者来说,可能是受教程的影响,看到老师在Visual Studio中瞬间就可以快速敲出{get;set;},但是自己却不知道怎么敲?老师也不告诉,其实老师这样做是有目的的,让你自己多动手去熟悉

  • 使用双异步后 如何保证数据一致性?

    使用双异步后 如何保证数据一致性?

    小编为大家说一说使用双异步后的相关知识,下面小编为您详细解答 很简单,通过对比Excel文件行数和入库数量是否相等即可。 那么,如何获取异步线程的返回值呢? 一、通过Future获取异步返