网站打不开时的自查五步
发布时间:2026-01-21 22:15       
更新时间:2026-01-22 11:31
先别急着重启服务器。网站打不开的原因大多很浅,按下面五步走,多数十分钟内见分晓。
第一步:绕开本地缓存
用浏览器无痕模式打开一次,或直接命令行验证:
curl -I http://你的域名
curl -I 只取响应头,不受页面渲染和缓存影响,是判断网站死活的第一命令。如果 curl 也卡住不动,跳到第三步直接测端口,能少走两步。有 HTTP 状态码返回,说明网站本身是通的,问题在浏览器或本地环境;无痕模式正常而普通模式异常,清缓存就能解决。
第二步:查 DNS 解析
nslookup 你的域名
对比返回的 IP 和服务器实际公网 IP。刚换过服务器或刚改过解析记录的,本地缓存还指着旧地址是最常见的原因,等 TTL(缓存有效时长)过期即可;结果与平台上的解析记录不一致,就去域名控制台核对记录本身,A 记录和 CNAME 改混也是常事。Windows 用 ipconfig /flushdns 清本地缓存后重试。
第三步:测端口
telnet 你的域名 80
出现 Connected 或光标停住等待就算通。不通说明 80 端口没开放,往下查安全组、防火墙和 Web 服务三层;https 站点再补测一次 443 端口,通的话进入下一步。
第四步:看进程
登录服务器执行:
systemctl status nginx
ps aux | grep nginx
服务挂了就 start,起不来时 status 输出里会带出错误行,把那几行记下来,多半直接就是答案。端口被占用导致起不来是另一类原因,ss -lntp | grep :80 看看谁占着。
第五步:翻日志
tail -50 /var/log/nginx/error.log
错误日志的最后几行通常直接写着原因:权限、配置语法、磁盘写满、上游无响应,对症处理;磁盘写满时日志里会反复出现 No space left on device,一眼可辨。再配合 access.log 看请求有没有到达:请求到了但报错,是服务内部问题;请求根本没出现,是前面几层的问题。改过配置记得先 nginx -t 验证语法再 reload。
五步走完还没头绪,把每一步的结果记录下来再求助,接手的人能省一半时间。排查顺序本身就是效率。