您的位置:首页 > 游戏 > 游戏 > 郑州建设信息网首页图_正规软件开发培训班_我是seo关键词_网络广告联盟

郑州建设信息网首页图_正规软件开发培训班_我是seo关键词_网络广告联盟

2025/1/11 11:32:20 来源:https://blog.csdn.net/m0_37680131/article/details/144546844  浏览:    关键词:郑州建设信息网首页图_正规软件开发培训班_我是seo关键词_网络广告联盟
郑州建设信息网首页图_正规软件开发培训班_我是seo关键词_网络广告联盟

从502错误到随机端口冲突:一次Linux服务故障定位

  • 故障现象
  • 解决方案

故障现象

客户反馈A测试平台服务异常,F12查看接口/request/api/view/info返回502错误,日志如下

caused by : org.redisson.RedissonshutdownException :Redisson is shutdown

错误为Redission is shutdown,初步怀疑为Redis 异常。

通过测试 Redis 6329 端口并执行key 查询操作,一切正常。问题仍不定期复现,增加了故障排查难度。

通过开启 A 服务的调试日志,进一步追踪发现日志

PortInUseException: Port 20004 is already  in use
20004 

端口被占用,导致返回信息错误。

通过ss 命令分析发现,20004 端口被系统上B服务进程占用。

图片

问题根因和解决措施

检查Linux的操作系统内核参数net.ipv4.ip_local_port_range

[root@localhost ~]# sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 10000 64999

问题清楚了,系统默认的随机端口范围被扩展到 10000-65000,从而导致占用了服务使用的端口号。

内核参数net.ipv4.ip_local_port_range详解

net.ipv4.ip_local_port_range定义了系统分配给客户端TCP或UDP套接字的临时端口范围(即随机端口)。
随机端口通常用于服务之间的短连接,比如在HTTP请求、数据库交互等场景中,当客户端发起请求但未指定端口号时,系统会在此范围内分配一个可用端口。

调优
默认范围
32768 到 60999(RFC 标准推荐)。
调优场景
当服务对外请求或短连接过多时,随机端口可能耗尽,需要合理扩展范围,通常调整到32768-65535。

解决方案

1、查看当前配置:

sysctl net.ipv4.ip_local_port_range

2、临时生效:

sysctl -w net.ipv4.ip_local_port_range="32768 65535"

3、永久生效(编辑/etc/sysctl.conf):

net.ipv4.ip_local_port_range = 32768 65535

4、执行sysctl -p生效

通过以上措施,故障解决,修改Linux内核参数还是要谨慎,否者可能会导致各种意想不到的问题

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com