4.8 KiB
4.8 KiB
服务器登录与部署完整操作指南
第一步:登录服务器
方法 1:Windows PowerShell(最简单)
-
打开 PowerShell
- 按
Win + X - 选择 Windows Terminal 或 PowerShell
- 或者按
Win + R,输入powershell,回车
- 按
-
执行 SSH 登录命令
ssh root@47.98.113.167 -
如果是第一次连接
- 会提示:
Are you sure you want to continue connecting (yes/no)? - 输入
yes,回车
- 会提示:
-
输入密码
- 提示
root@47.98.113.167's password: - 输入服务器密码(输入时不显示,正常输入完回车即可)
- 提示
-
登录成功标志
Welcome to Ubuntu 22.04.x LTS root@服务器名称:~#
方法 2:使用 SSH 密钥(如果已配置)
如果你之前配置过密钥,直接:
ssh root@47.98.113.167
不需要输入密码,直接登录。
方法 3:通过阿里云/腾讯云控制台(如果忘记密码)
-
登录云服务商控制台
-
找到你的服务器
- IP:
47.98.113.167
- IP:
-
使用远程连接/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
部署过程会:
- 复制环境变量文件
- 确保 public 目录存在
- 构建 api、worker、web 三个镜像
- 启动所有容器
预计时间:
- api 和 worker:1-2 分钟(有缓存)
- web:3-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 "========== 部署完成! =========="
需要帮助?
如果执行过程中遇到任何报错,把错误信息发给我,我帮你分析。