网站突然打不开别急着重启服务器:从 DNS 到 Nginx 一步步排查

举报
yd_275127495 发表于 2026/11/01 06:08:50 2026/11/01
【摘要】 网站突然打不开,很多人第一反应是重启服务器。重启有时能蒙对,但更多时候只是把问题暂时盖住,过一阵又会复发。打不开的原因其实分好几层:域名解析、网络连通、Web 服务本身、上游应用,每层都有对应的检查方法,按顺序排查,几分钟就能定位到哪一环断了。第一步:先确认域名解析对不对浏览器报错不一定是服务器的问题,先看域名有没有解析到正确的 IP:dig +short example.comnslook...

网站突然打不开,很多人第一反应是重启服务器。重启有时能蒙对,但更多时候只是把问题暂时盖住,过一阵又会复发。打不开的原因其实分好几层:域名解析、网络连通、Web 服务本身、上游应用,每层都有对应的检查方法,按顺序排查,几分钟就能定位到哪一环断了。

第一步:先确认域名解析对不对

浏览器报错不一定是服务器的问题,先看域名有没有解析到正确的 IP:

dig +short example.com
nslookup example.com

如果解析结果是错的 IP,或者干脆解析不出来,问题在 DNS 侧:检查域名解析记录有没有被改错、TTL 是不是还没生效、本地是不是走了错误的 DNS。解析正确,再往下查。

第二步:确认端口通不通、服务在不在

解析没问题,就看服务器的 80 和 443 端口能不能连上:

curl -I https://example.com
ss -tlnp | grep -E '80|443'

curl 超时、连接被拒绝,说明请求根本没到 Web 服务:可能是服务没起来,也可能是安全组或防火墙没放行端口。ss 能看到监听,说明 Nginx 在跑;看不到监听,先检查服务状态,再看配置文件有没有改错。

第三步:看 Nginx 配置和错误日志

服务在跑但返回 502、504 或者空白页,重点看两处:先验证配置语法,再翻错误日志:

nginx -t
tail -n 100 /var/log/nginx/error.log

nginx -t 能立刻发现配置文件写错、证书路径不对、upstream 名字拼错这类问题。error.log 里则会写清上游连不上、超时、权限不足等具体原因。502 多半是后端应用挂了或者 upstream 地址配错,504 多半是后端响应太慢、超时时间设得太短,对着日志改,比逐项猜快得多。

第四步:区分是 Nginx 的问题还是后端的问题

如果 Nginx 本身能返回页面,只是某个接口报错,那就把后端单独拎出来测:直接 curl 后端监听的地址和端口,看它有没有响应。后端没响应,查应用日志和进程状态;后端有响应但 Nginx 报错,再回头核对 proxy_pass、超时时间和请求头转发有没有配错。分清责任方,才能避免在没问题的那层反复折腾。

最后提醒一句:排查时顺手把每一步的结果记下来——解析结果、端口状态、日志里的关键报错行。修好之后,这些记录就是下次同样故障的排查清单。网站打不开不可怕,可怕的是不分层、不看日志就直接重启:先定位、再动手,问题才能真正解决。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。