网站突然变慢、部分地区无法访问,或者服务器明明运行正常,用户却一直反馈打不开,这类问题往往不只是服务器性能造成的。
DNS 解析、线路路由、节点延迟、HTTP 响应和 CDN 状态,都可能影响最终访问体验。下面分享一套适合宝塔用户的网络排查方法。
一、先确认服务器是否正常登录服务器 SSH 终端,或者使用宝塔面板提供的终端功能,先检查系统负载:
继续检查内存和磁盘:
如果 CPU、内存和磁盘都正常,网站仍然访问缓慢,就需要继续排查网络。
二、检查 DNS 解析结果使用下面的命令查看域名当前解析到了哪个 IP:
也可以指定公共 DNS 服务器进行对比:
- dig @1.1.1.1 你的域名.com
- dig @8.8.8.8 你的域名.com
复制代码
重点检查:
- 不同 DNS 返回的 IP 是否一致
- 是否仍然存在已经停用的旧 IP
- CDN 回源地址是否配置正确
- 域名修改解析后是否已经完成全球生效
如果不同地区解析结果不一致,通常需要检查 DNS 记录、TTL 设置或 CDN 调度策略。
三、拆分网站请求耗时通过 curl 可以分别查看 DNS、TCP 连接、首字节和总响应时间:
- curl -o /dev/null -s -w \
- 'DNS解析: %{time_namelookup}s\nTCP连接: %{time_connect}s\n首字节: %{time_starttransfer}s\n总耗时: %{time_total}s\n' \
- https://你的域名.com
复制代码
判断方法:
- DNS解析较慢:优先检查 DNS 服务
- TCP连接较慢:可能是线路、端口或防火墙问题
- 首字节较慢:重点检查 PHP、数据库和后端程序
- 总耗时较高:检查页面资源、CDN 和下载速度
四、检查网络路由先使用 ping 查看基础延迟和丢包:
进一步使用 mtr 检查完整路由:
如果服务器没有安装 mtr,可以执行:
# Debian / Ubuntu
# CentOS / Rocky Linux
需要注意,中间节点不响应 ICMP 并不一定代表线路异常。重点观察最终节点是否丢包,以及延迟是否从某一跳开始持续升高。
五、从用户视角进行多地区检测服务器本地测试正常,不代表全国或海外用户访问也正常。
这时可以使用 DNSPUP.COM 从不同节点检测域名,查看:
- 各地区 PING 延迟
- HTTP 响应情况
- DNS 解析结果
- MTR 路由信息
- 不同地区是否出现访问异常
多节点检测可以快速判断问题范围:
- 只有个别地区异常:通常与运营商线路或 CDN 节点有关
- 所有地区都慢:优先检查源站、程序和数据库
- DNS 结果不一致:检查解析记录和缓存
- HTTP 状态异常:检查 Nginx、SSL、反向代理和防火墙
- 海外正常、国内较慢:检查线路质量、备案和 CDN 配置
六、宝塔用户常见问题1. 防火墙没有放行端口检查宝塔安全页面和服务器安全组,确认已经放行:
如果使用了自定义端口,也要同步检查云服务器安全组。
2. Nginx 配置异常- <p>修改配置后可以先检查语法:</p><pre><code>nginx -t</code></pre><p>确认没有错误后再重新加载:</p><pre><code>nginx -s reload</code></pre>
复制代码
3. CDN 回源错误重点检查:
- 回源 IP 是否正确
- 回源协议是 HTTP 还是 HTTPS
- 源站证书是否有效
- CDN 节点是否被防火墙拦截
- 宝塔防火墙是否误拦 CDN 节点 IP
4. SSL 证书问题检查证书有效期和域名匹配情况:
- openssl s_client -connect 你的域名.com:443 -servername 你的域名.com
复制代码
排查顺序总结遇到网站访问异常时,可以按照下面的顺序检查:
服务器负载→ DNS 解析→ TCP 连接→ HTTP 响应→ 路由与丢包→ CDN 节点→ 防火墙和安全组不要一看到网站变慢就立即重启服务器。先确定问题发生在哪个环节,通常能更快找到原因。
|
|