Operations
一次端口占用排查记录
最近整理一台小机器时,又遇到了“配置看起来没问题,但服务就是没有按预期监听”的情况。最后发现,问题并不在应用本身,而是在多个组件都想占用同一个公开端口。
这类问题最容易误判,因为浏览器只会给出连接失败、证书不匹配或者超时,看起来像网络问题。真正有效的做法,是先回到服务器本机确认事实。
先看端口,再看进程;先确认谁在监听,再判断配置是否生效。
我的排查顺序通常是这样的:
- 用监听列表确认目标端口是否真的打开,以及归属于哪个进程。
- 查看服务日志中最近一次重启后的错误,不只看当前 active 状态。
- 把公开入口和内部转发入口分开,避免两个服务同时抢同一个端口。
- 每次只改一处配置,验证通过后再继续下一步。
这次最大的提醒是:端口规划要写下来。公开端口负责接入,内部端口负责转发,二者不要混用。机器越小,越需要这种朴素的边界感。