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

通用检查清单

  1. 服务在运行吗?→ systemctl status / docker ps
  2. 端口开放了吗?→ ufw status / ss -tlnp
  3. 日志说了什么?→ tail -50 /var/log/xxx
  4. 磁盘满了吗?→ df -h
  5. 内存够吗?→ free -h

这 5 个问题能解释 80% 的故障。