迁移时同时装了两种 web 服务,其中一个启动失败提示端口占用,站点时好时坏。

真正麻烦的地方在于,几个原因的现象几乎一样。两个服务都监听同一个端口。还有一种是随镜像预装的服务自启动没人注意。

不容易想到的是,反向代理与源站配置混在同一台机器。

动手时先查端口占用者

ss -lntp | grep ':80 '

然后停用不需要的服务

systemctl disable --now httpd

再往下改成只保留一层对外

systemctl status nginx httpd

剩下的就是确认监听与访问正常

curl -I http://127.0.0.1

同样的操作我在测试机上先走了一遍,线上只做验证过的部分。

这台环境是别人交接的,不少默认值被动过,只能一项项核。

恢复的判定其实很直接。只有一个服务监听八十端口,站点访问稳定,重启后不再抢占。

这里还有个坑。自启动项比进程更隐蔽,停进程不等于停服务;装完系统先列一遍开机自启的服务更省事。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189