1.
概述:定位问题的思路与准备
- 明确故障范围:局部进程、单台 VPS、还是全网不可用。
- 预备工具:ping/traceroute/tcpdump/ss/netstat/top/iostat/dmesg。
- 日志集中:/var/log/nginx/*.log、/var/log/syslog、应用日志路径。
- 账号与权限:确保有 root 或 sudo 权限与控制台访问。
- 监控数据:准备历史监控(CPU、内存、带宽、连接数、磁盘 I/O)。
2.
网络连通性与域名解析排查
- 测试基础连通:ping 203.119.XXX.XXX(香港机房 IP)查看平均延迟与丢包率。
- 路由追踪:traceroute -n 203.119.XXX.XXX,观察跨 AS 跳点异常。
- DNS 检查:dig +short www.example.com @8.8.8.8 比对解析结果。
- 本地与远端对比:从本地和第三方(如 ChinaCache/RIPE)进行 ping/traceroute。
- 端口连通:nc -zv 203.119.XXX.XXX 80/443 查看端口是否被防火墙阻断。
3.
服务进程与端口层面调试
- 查看进程:ps aux | grep nginx 或 systemctl status nginx。
- 监听端口:ss -ltnp 或 netstat -plnt,确认服务绑定 IP 与端口。
- 连接数统计:ss -s 或 ss -tn state established 表示当前连接量。
- 进程资源:top / htop 查看 CPU% 和内存占用,关键进程是否 OOM。
- 重启策略:先尝试 graceful reload(nginx -s reload),必要时 full restart 并记录时间窗口。
4.
磁盘与 I/O 问题排查
- 磁盘使用:df -h 查看挂载点与可用空间;inode df -i 检查 inode 耗尽。
- I/O 性能:iostat -x 1 5,关注 await、%util 和 r/s w/s。
- 日志写入阻塞:tail -f /var/log/nginx/error.log 同时观察写入延迟。
- 文件系统错误:dmesg | grep -i ext4 或 smartctl -a /dev/vda 查看硬盘健康。
- 快速应对:清理临时日志、rotate log、扩容磁盘或迁移到 SSD(示例配置见后)。
5.
CDN、缓存与域名相关排查
- CDN 状态:在 CDN 控制台查看节点健康、回源失败率与缓存命中率。
- 缓存命中率:目标命中率低于 70% 时,检查 Cache-Control 与 Set-Cookie 策略。
- 回源延迟:回源 200ms+ 会明显影响首字节时间(TTFB)。
- 域名证书:openssl s_client -connect www.example.com:443 检查证书链与过期时间。
- CNAME 与 A 记录:确认域名是否已正确指向香港机房的 IP 并已生效(TTL 考虑)。
6.
DDoS 与流量异常快速判断与防护
- 流量基线:平时带宽 200Mbps 峰值 300Mbps,当前流量 1.8Gbps 则偏高。
- SYN/UDP 洪泛检查:ss -s 和 iptables-counter 统计异常包类型。
- 黑洞策略:与托管商(香港机房)协商启用黑洞或清洗服务。
- 阈值规则:设置 iptables/nftables 限制每 IP 并发连接数(如 50)与速率限制。
- 上游清洗:启用云防护(如 Cloudflare 或运营商清洗),记录缓解前后数据对比。
7.
真实案例与配置示例(含数据演示)
- 案例摘要:某电商在香港机房(VPS)突发 2025-04-12 10:12 流量暴增,页面 503。
- 初判数据:平常并发 1200 conn,突发并发 45000 conn,带宽峰值 1.6Gbps。
- 临时措施:启用托管商清洗,iptables 限速每 IP 20 conn/s,HTTP keepalive 降至 5。
- 恢复效果:10 分钟内并发回落到 3000,服务恢复 95% 可用。
- 机房配置举例:示例服务器规格如下表格。
8.
示例服务器规格与监控快照(表格演示)
- 下表为单台故障排查时的配置与关键监控指标供参考:
| 项 |
值 |
说明 |
| 机房 |
香港(HK) |
运营商机房,比如 HKT/Equinix |
| 实例 |
vCPU 4 / 8GB RAM / 80GB NVMe |
适合小型电商与中等流量网站 |
| 操作系统 |
Ubuntu 20.04 LTS |
长期支持版本,稳定 |
| Web 服务 |
Nginx 1.18 + PHP-FPM 7.4 |
常见 LEMP 栈 |
| 监控快照 |
CPU 85% / Mem 68% / 带宽 1.6Gbps |
高流量时典型指标 |
9.
总结与快速定位流程(操作清单)
- 1) 立即确认是单点还是全网故障;2) 检查监控与日志时间线。
- 2) 网络测试:ping/traceroute/dig;3) 服务测试:ss/netstat/ps。
- 3) 存储检查:df/iostat/dmesg;4) 缓存/CDN 状态确认。
- 4) 若为流量攻击,联系机房清洗并临时限流,开启云防护。
- 5) 记录每一步操作与时间,形成事后复盘与长期防护策略。
来源:故障排查章节服务器托管香港教程教你快速定位问题