Files

4.8 KiB
Raw Permalink Blame History

服务器登录与部署完整操作指南

第一步:登录服务器

方法 1Windows PowerShell(最简单)

  1. 打开 PowerShell

    • Win + X
    • 选择 Windows TerminalPowerShell
    • 或者按 Win + R,输入 powershell,回车
  2. 执行 SSH 登录命令

    ssh root@47.98.113.167
    
  3. 如果是第一次连接

    • 会提示:Are you sure you want to continue connecting (yes/no)?
    • 输入 yes,回车
  4. 输入密码

    • 提示 root@47.98.113.167's password:
    • 输入服务器密码(输入时不显示,正常输入完回车即可)
  5. 登录成功标志

    Welcome to Ubuntu 22.04.x LTS
    root@服务器名称:~#
    

方法 2:使用 SSH 密钥(如果已配置)

如果你之前配置过密钥,直接:

ssh root@47.98.113.167

不需要输入密码,直接登录。


方法 3:通过阿里云/腾讯云控制台(如果忘记密码)

  1. 登录云服务商控制台

  2. 找到你的服务器

    • IP: 47.98.113.167
  3. 使用远程连接/VNC

    • 点击 远程连接VNC
    • 或者点击 重置密码,设置新密码后再用方法 1 登录

第二步:清理服务器空间

登录成功后,复制下面的命令,粘贴到终端,回车执行:

echo "=========================================="
echo "开始清理服务器..."
echo "=========================================="
echo ""
echo "当前磁盘占用:"
df -h
echo ""
echo "清理 Docker 无用资源..."
docker system prune -a --volumes -f
echo ""
echo "清理 systemd 日志(保留 7 天)..."
journalctl --vacuum-time=7d
echo ""
echo "清理 APT 缓存..."
apt-get clean
apt-get autoremove -y
echo ""
echo "清理后磁盘占用:"
df -h
echo ""
echo "=========================================="
echo "清理完成!"
echo "=========================================="

预期结果:

  • 会输出清理前后的磁盘占用对比
  • 至少释放几 GB 空间

第三步:执行部署

清理完成后,继续执行:

cd /var/lib/xiaoxia-saas-staging/repo/infra/docker
chmod +x deploy-staging.sh
./deploy-staging.sh

部署过程会:

  1. 复制环境变量文件
  2. 确保 public 目录存在
  3. 构建 api、worker、web 三个镜像
  4. 启动所有容器

预计时间:

  • api 和 worker1-2 分钟(有缓存)
  • web3-5 分钟(需要 npm install + next build

第四步:验证部署

部署完成后,检查服务状态:

# 查看容器状态
docker ps

# 测试 API
curl http://127.0.0.1:8000/api/v1/health

# 查看前端端口(3001
curl -I http://127.0.0.1:3001

成功标志:

  • docker ps 显示 5 个容器运行中(postgres、redis、api、worker、web
  • API 返回健康检查 JSON
  • 前端返回 HTTP 200

第五步:访问服务

在你的浏览器打开:

  • API: http://47.98.113.167:8000/api/v1/health
  • 前端: http://47.98.113.167:3001

常见问题

Q1: 提示 "Permission denied"

原因: 密码错误或没有权限
解决:

  • 确认密码正确
  • 或者去云服务商控制台重置密码

Q2: 提示 "Connection refused" 或 "Network error"

原因: 网络不通或服务器防火墙
解决:

  • 检查服务器是否开机
  • 检查安全组/防火墙是否放行 22 端口

Q3: 部署时提示 "No space left on device"

原因: 清理后空间还是不够
解决:

# 查看最大的目录
du -sh /* | sort -hr | head -20

# 手动删除不需要的大文件/目录

Q4: 部署过程中断

原因: 网络不稳定
解决:

# 使用 tmux 隔离会话
tmux new -s deploy
cd /var/lib/xiaoxia-saas-staging/repo/infra/docker
./deploy-staging.sh

# 按 Ctrl+B, 然后按 D 离开
# 部署继续在后台跑,不会因为 SSH 断开而中断

# 重新连接查看
tmux attach -t deploy

完整的一键操作(复制粘贴)

如果你想一次性执行所有步骤,登录后直接粘贴:

echo "========== 步骤 1: 清理空间 ==========" && \
docker system prune -a --volumes -f && \
journalctl --vacuum-time=7d && \
apt-get clean && apt-get autoremove -y && \
echo "" && echo "========== 步骤 2: 开始部署 ==========" && \
cd /var/lib/xiaoxia-saas-staging/repo/infra/docker && \
chmod +x deploy-staging.sh && \
./deploy-staging.sh && \
echo "" && echo "========== 步骤 3: 验证服务 ==========" && \
docker ps && \
curl http://127.0.0.1:8000/api/v1/health && \
echo "" && echo "========== 部署完成! =========="

需要帮助?

如果执行过程中遇到任何报错,把错误信息发给我,我帮你分析。