网站打不开怎么办?从域名解析、端口到服务器日志,网站打不开排查思路一次讲清


网站打不开,是每个站长都躲不开的时刻:用户反馈页面空白,自己打开一看,浏览器转了半天最后甩出一行报错。先别急着重启服务器——打不开只是“症状”,病根可能藏在域名、网络、服务器、程序四个层面中的任何一处。这篇文章给出一套从外到内的排查顺序,照着做,大部分故障十分钟内就能定位。

第一步:先圈定故障范围

  • 只有自己打不开:多半是本地网络、运营商 DNS 或浏览器缓存问题,用手机流量再试一次即可验证;
  • 个别地区打不开:可能是 CDN 节点异常或跨境链路抖动,用全国多地点 ping 工具查看各省份的连通性;
  • 所有人都打不开:进入下面的正式排查流程。

第二步:查域名——过期、解析与劫持

  1. 检查域名是否过期,或因未完成实名认证被注册商停止解析;
  2. 用 nslookup 你的域名 查询解析结果,IP 是否仍是服务器的公网 IP;如果指向了陌生 IP,可能是被劫持或误操作;
  3. 刚修改过解析的,受 TTL 缓存影响需要等待生效,着急可以刷新本地 DNS 缓存后再测。

第三步:查网络——端口通不通

先 ping 服务器 IP 确认机器在线。能 ping 通但网站打不开,重点查端口:

  • 用 telnet 服务器IP 80 / 443 测试端口,连不上大概率是云安全组或系统防火墙没放行;
  • 国内服务器绑定未备案域名时,服务商可能拦截 80/443 端口,这种情况下控制台日志里会有提示;
  • 防火墙排查顺序:云平台安全组 → 系统防火墙(firewalld / iptables)→ 应用监听地址是否为 127.0.0.1。

第四步:查服务器——服务、资源与日志

登录 SSH 后按固定顺序检查,别漏项:

  1. systemctl status nginx 确认 Web 服务是否存活,挂了就 systemctl restart nginx;
  2. df -h 看磁盘占用,日志写满磁盘导致服务假死是新手站最常见的事故;
  3. free -m 与 top 看内存和 CPU,内存耗尽触发 OOM 会直接杀掉 Web 进程;
  4. 读错误日志:/var/log/nginx/error.log 会直接告诉你 Nginx 为什么罢工。

第五步:看状态码,对症下药

  • 502 Bad Gateway:后端进程(PHP-FPM、Node)挂掉或超时,重点查后端服务与进程数;
  • 503 Service Unavailable:服务过载、重启中或被限流;
  • 504 Gateway Timeout:后端处理太慢,数据库慢查询是头号嫌疑;
  • 证书告警(NET::ERR_CERT_DATE_INVALID):SSL 证书过期,续期即可,用 Let’s Encrypt 的记得确认自动续期任务还在运行;
  • 数据库连接错误:MySQL 挂了或账号配置被改,先重启数据库再看日志定位。

平时做好三件事,故障少一半

  1. 监控告警:用拨测监控盯住 HTTP 状态码,网站挂了第一时间收到通知,而不是等用户反馈;
  2. 定期备份:网站文件与数据库异地备份,任何故障都有退路;
  3. 日志轮转:配置 logrotate,别让日志写满磁盘。

写在最后

网站打不开并不可怕,可怕的是没有思路地乱试。记住“范围 → 域名 → 网络 → 服务器 → 状态码”这条排查链,再配合日志定位,绝大多数故障都能自己解决。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

域名解析实战:从 A 记录、CNAME 到 TTL,域名解析设置与不生效排查一次讲清

DMA 是什么?直接内存访问(DMA)原理、传输模式与服务器性能优化一次讲清

评 论