一次典型的小站排查:端口、进程、DNS 为什么要一起看

网站打不开时,最怕只盯着某一层。把端口、进程、DNS 与证书放在同一条检查链路里,效率会高很多。

从现象回推,不要一上来就改配置

站点无法访问时,很多人的第一反应是重新启动服务,或者立刻改配置文件。这样做并不总是错,但很容易把原始状态抹掉,反而更难定位问题。

更稳妥的方式,是按一条固定链路检查:

  • 域名解析到哪里
  • 服务器上有没有监听目标端口
  • 监听端口的进程是谁
  • Web 服务日志有没有报错
  • 证书申请是否成功

只要这条链路完整,问题通常都会暴露出来。

端口没监听,说明问题还在本机

如果 80443 根本没有被任何进程监听,那么问题大概率还停留在应用或服务管理层。这个时候应该优先检查:

  • 服务有没有启动成功
  • systemd 配置是否正确
  • 启动后是否马上退出
  • 是否被其他残留进程占用

解析正确但访问失败,优先看外层

如果域名已经指向当前机器,且本机端口也在监听,但外部还是无法访问,就要把视角切到网络外层:

  • 云厂商安全组
  • 本机防火墙
  • 证书申请过程是否被拦截

这类问题经常不是应用错误,而是边界策略没放开。

给自己留一条标准化检查路径

我现在会把常用的检查命令固定下来,减少临场乱想:

dig +short example.com
ss -ltnp
systemctl status web.service
journalctl -u web.service --no-pager | tail -n 50
curl -I http://example.com
curl -I https://example.com

固定流程最大的好处,是每次都能快速判断问题大概落在哪一层。

结语

排障不是比谁记得更多命令,而是比谁更能把问题切成几层去验证。端口、进程、DNS 和证书一起看,往往比在某一个配置文件里盲目翻半天更有效。