VPS 部署排障:10 类常见问题及诊断方案
2026-07-14VPS 部署排障:10 类常见问题及诊断方案
一、SSH 连接失败
现象:Connection refused 或 Connection timed out
诊断命令
- ping 服务器 IP
- ssh -p 22 root@服务器IP
- nc -zv 服务器IP 22
解决方案
- ping 不通:联系服务商确认服务器状态
- 端口不通:检查安全组,开放 22 端口
- 密码错误:控制面板重置 root 密码
- 建议:改用密钥登录,限制 22 端口仅对办公 IP 开放
二、服务器能连接但无法上网
现象:SSH 成功,但无法安装软件包
诊断命令
- ping -c 4 google.com
- ping -c 4 8.8.8.8
- cat /etc/resolv.conf
解决方案
DNS 配置问题:
nameserver 8.8.8.8 nameserver 8.8.4.4
三、系统更新失败
现象:apt update 或 yum update 报错 "Unable to locate package"
解决方案
Ubuntu/Debian:
- 备份并编辑 /etc/apt/sources.list
- sudo apt clean && sudo apt update
检查磁盘空间:
- df -h
- sudo apt autoremove -y
四、防火墙阻止 Web 访问
现象:Web 服务已安装,浏览器无法访问
诊断命令
- sudo systemctl status nginx
- sudo netstat -tlnp | grep :80
- sudo ufw status verbose
解决方案
UFW 防火墙:
- sudo ufw allow 'Nginx Full'
- sudo ufw reload
云服务商安全组:添加入站规则,开放 80、443 端口
五、网站显示 502 错误
现象:Nginx 反向代理 + PHP-FPM 架构下出现 502
诊断命令
- sudo systemctl status php-fpm
- sudo tail -f /var/log/nginx/error.log
解决方案
- sudo systemctl restart php-fpm
- 检查 nginx.conf 中 fastcgi_pass 配置是否正确
六、数据库连接失败
现象:网站可访问,但显示数据库连接错误
诊断命令
- sudo systemctl status mysql
- mysql -u root -p
解决方案
重置数据库密码:
ALTER USER 'wpuser'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES;
检查网站配置文件(WordPress 示例):/var/www/html/wp-config.php
七、SSL 证书安装失败
现象:Certbot 安装证书报错
解决方案
- 确认域名已解析:dig yourdomain.com
- 停止占用 80 端口的服务:sudo systemctl stop nginx
- 执行安装:sudo certbot --nginx -d yourdomain.com
- 重启服务:sudo systemctl start nginx
八、磁盘空间不足
现象:服务停止,收到磁盘空间警告
诊断命令
- df -h
- sudo du -ah /var | sort -rh | head -20
解决方案
- 清空日志:sudo truncate -s 0 /var/log/nginx/error.log
- 清理系统日志:sudo journalctl --vacuum-time=7d
- 清理缓存:sudo apt clean && sudo apt autoremove -y
九、内存不足导致服务崩溃
现象:服务器频繁重启,服务自动停止
诊断命令
- free -h
- dmesg | grep -i "out of memory"
解决方案
添加 Swap 交换空间:
sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
建议:连续观察业务高峰期内存使用率,超过 80% 考虑升级配置或拆分数据库
十、备份失败或恢复出错
现象:备份文件损坏或无法恢复
诊断命令
- sudo tail -f /var/log/backup.log
- tar -tzf backup-file.tar.gz
解决方案
测试备份恢复:
mkdir /tmp/restore-test tar -xzf backup-file.tar.gz -C /tmp/restore-test
恢复测试通过后,将备份同步到异机或对象存储
排障顺序总结
- 确认 SSH 连接
- 确认网络和 DNS
- 确认系统源可用
- 确认 Web 服务状态
- 确认数据库连接
- 确认 SSL 证书
- 确认磁盘和内存余量
- 确认备份可恢复
操作建议
- 单次只修改一个配置项,修改后立即验证
- 每完成一层配置,记录验证结果
- 出现相同症状时,对比历史记录定位差异
| 配置项 | 最低要求 | 推荐值 |
|---|---|---|
| CPU | 1 核 | 2 核起 |
| 内存 | 1 GB | 2 GB 起 |
| 磁盘 | 20 GB | 40 GB SSD |
| 带宽 | 1 Mbps | 5 Mbps 起 |
| Swap | 1 GB | 2 GB |
声明:部分内容、图片来源于互联网,如有侵权请联系删除,QQ:228866015
