SSH 连不上
1. VPS 有没有在运行?
# 登录 VPS 控制面板,查看状态是否为 "Running"
# 如果不是,启动它
2. IP 和端口对不对?
# 确认 IP 没变(有些商家不保证固定 IP)
ssh -p 端口号 user@IP -v # -v 查看详细连接过程
3. 防火墙有没有开放端口?
# 通过 VNC/控制台登录 VPS
ufw status
# 如果没看到你的 SSH 端口,执行:
ufw allow 端口号/tcp
4. SSH 服务有没有运行?
systemctl status sshd
systemctl restart sshd
5. 被 Fail2ban 封了?
fail2ban-client status sshd
# 如果被误封,在 VNC/控制台里解封
Nginx 502 Bad Gateway
502 意味着 Nginx 是正常的,但后端服务(PHP-FPM / Node.js 应用)挂了。
# 检查后端服务
systemctl status php8.1-fpm # PHP
docker ps | grep myapp # Docker
# 重启后端
systemctl restart php8.1-fpm
docker restart myapp-container
# 看 Nginx 日志找原因
tail -50 /var/log/nginx/error.log
Nginx 403 Forbidden
# 403 = 权限问题
# 检查文件和目录权限
ls -la /var/www/你的网站/
# 目录需要 755,文件需要 644,owner 应为 www-data
# 修复:
chown -R www-data:www-data /var/www/你的网站/
find /var/www/你的网站/ -type d -exec chmod 755 {} \;
find /var/www/你的网站/ -type f -exec chmod 644 {} \;
DNS 解析不到
1. 域名有没有过期?
whois yourdomain.com | grep "Expir"
2. DNS 记录配置正确吗?
# 在本地查询
nslookup yourdomain.com
dig yourdomain.com
# 如果用的 Cloudflare,确认 A 记录指向正确 IP
# 代理状态(橙色云朵)开启意味着指向 CF IP 而非你的 IP
3. DNS 传播需要时间
修改 DNS 后等 5 分钟到 48 小时(通常几分钟就生效)。
Docker 容器异常
# 查看所有容器状态
docker ps -a
# 查看容器日志
docker logs --tail 100 容器名
# 磁盘满了?(Docker 日志/镜像很占空间)
df -h
docker system df
# 清理
docker system prune -a -f
通用检查清单
- 服务在运行吗?→ systemctl status / docker ps
- 端口开放了吗?→ ufw status / ss -tlnp
- 日志说了什么?→ tail -50 /var/log/xxx
- 磁盘满了吗?→ df -h
- 内存够吗?→ free -h
这 5 个问题能解释 80% 的故障。