排查方向:首先确认本地网络与目标IP可达,然后验证端口、帐号与密钥是否正确。
常见原因包括IP变更、防火墙阻挡(iptables、ufw、云厂商安全组)、SSH服务未启动或密钥/密码错误。
1) 本地执行 ping 与 telnet IP 22 或 nc -zv IP 22 检查连通性;2) 使用控制台登录VPS查看 systemctl status sshd;3) 检查防火墙规则 iptables -L 或 ufw status;4) 若使用密钥,确认文件权限为600并且authorized_keys中有对应公钥。
若SSH服务未启动,执行 sudo systemctl start sshd;若防火墙阻挡,可临时允许端口:sudo ufw allow 22 或 sudo iptables -I INPUT -p tcp --dport 22 -j ACCEPT。若IP变更,通过云控制台确认并更新本地记录。
排查方向:从链路、线路质量、路由和服务端资源占用四方面入手。
可能由ISP链路拥塞、路由不稳定、DDoS攻击或VPS本身带宽被占满(如大量下载、P2P、备份任务)引起。
1) 本地执行 mtr IP 或 traceroute 确定丢包发生在哪一跳;2) 在VPS上用 iftop、nethogs、vnstat 查看流量来源;3) 检查系统负载与网络中断日志 dmesg 与 /var/log/syslog;4) 检查是否存在异常连接:ss -tunp。
若为线路问题,可联系机房/ISP;短期可通过调整BGP或更换节点;若为恶意流量,启用云端DDoS防护或在VPS上使用 iptables 限制连接速率:iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/min -j ACCEPT。
排查方向:判断是磁盘使用率过高还是I/O负载异常,避免误删重要数据。
日志文件无限增长、备份占满、临时文件堆积或数据库膨胀均会导致磁盘占满;磁盘I/O高可能由大量读写、交换区使用或坏盘导致。
1) 使用 df -h 查看挂载点使用率;2) 用 du -sh /* 或 ncdu 定位大文件;3) 查看I/O状况 iostat -x 1 3 或 iotop;4) 检查日志目录如 /var/log 与数据库数据目录。
清理可删除的日志:sudo journalctl --vacuum-size=200M,删除临时文件或迁移大文件到附加卷;若是交换区使用过高,优化内存或增加swap;必要时扩容云盘或挂载新数据盘并迁移数据。
排查方向:优先查看服务状态、错误日志与端口监听情况。
配置错误、依赖库缺失、端口被占用、权限问题或数据库宕机都是常见原因,也可能因更新导致兼容性问题。
1) 检查进程与端口:systemctl status nginx、ps aux | grep nginx、ss -lntp;2) 查看错误日志:/var/log/nginx/error.log或应用日志;3) 检查配置语法:nginx -t或apachectl configtest;4) 数据库连接测试并查看错误日志。
若是配置错误,修正后重载服务:sudo systemctl reload nginx;若端口冲突,识别并停止占用进程;数据库若宕机,可尝试安全模式恢复或从最近备份恢复数据并调整连接池设置。
排查方向:从进程级别、定时任务与内核日志三方面分析原因。
长期高负载可能由某个进程泄露、Cron任务异常、流量突增或恶意软件导致;频繁重启则可能是内核panic、硬件故障或OOM触发。
1) 使用 top 或 htop 找出占用CPU/内存的进程;2) 查看计划任务 crontab -l 与系统定时任务;3) 检查内核日志 dmesg、/var/log/syslog 是否有panic或OOM记录;4) 扫描是否有可疑进程或异常网络行为。
对异常进程做临时重启或限制资源(如用 systemctl restart 服务名 或 kill),必要时调整服务配置以限制最大进程数或连接数;启用监控与告警,定时备份重要数据,并在多次重启或硬件错误时联系机房处理或更换实例。