# 快速部署参考卡片

## 🚀 一键部署命令

```bash
# 部署所有服务（推荐）
bash deploy-all.sh

# 仅部署后端
bash deploy-all.sh backend

# 仅部署前端
bash deploy-all.sh frontend
```

## 📱 访问地址

| 服务 | 地址 | 说明 |
|------|------|------|
| 前端 | http://101.200.208.45/emotion-museum/ | 主应用 |
| 后端 API | http://101.200.208.45:19089/api | REST API |
| WebSocket | ws://101.200.208.45:19089/ws | 实时通信 |

## ⏱️ 部署耗时

| 操作 | 耗时 |
|------|------|
| 后端编译 | 1-2 分钟 |
| 后端上传 | 30 秒 |
| 后端启动 | 30 秒 |
| 前端构建 | 1-2 分钟 |
| 前端上传 | 30 秒 |
| **总计** | **3-5 分钟** |

## ✅ 部署检查清单

部署前：
- [ ] 代码已提交
- [ ] 本地编译通过
- [ ] 没有未保存的文件

部署中：
- [ ] 脚本正常运行
- [ ] 没有错误提示

部署后：
- [ ] 前端可访问
- [ ] 后端 API 响应正常
- [ ] WebSocket 连接正常

## 🔍 快速验证

```bash
# 验证后端
curl http://101.200.208.45:19089/api/health

# 验证前端
curl http://101.200.208.45/emotion-museum/

# 查看后端日志
ssh root@101.200.208.45 "tail -f /data/logs/emotion-museum/emotion-single.log"

# 查看前端文件
ssh root@101.200.208.45 "ls -lh /data/www/emotion-museum/"
```

## 🆘 常见问题

| 问题 | 解决方案 |
|------|---------|
| JAR 文件不存在 | `cd backend-single && mvn clean package -DskipTests` |
| dist 目录不存在 | `cd web && npm install && npm run build` |
| SSH 连接失败 | `ssh-copy-id -i ~/.ssh/id_rsa.pub root@101.200.208.45` |
| 前端 404 | `ssh root@101.200.208.45 "nginx -s reload"` |
| 后端无响应 | `ssh root@101.200.208.45 "ps aux \| grep emotion"` |

## 📊 部署脚本结构

```
deploy-all.sh
├── 后端部署
│   ├── 检查脚本存在
│   ├── 执行 backend-single/deploy.sh
│   └── 验证部署结果
├── 前端部署
│   ├── 检查脚本存在
│   ├── 执行 web/deploy.sh
│   └── 验证部署结果
└── 输出部署总结
```

## 💡 最佳实践

1. **定期备份**
   ```bash
   ssh root@101.200.208.45 "tar -czf /data/backups/emotion-museum-$(date +%Y%m%d).tar.gz /data/www/emotion-museum /data/programs/emotion-museum"
   ```

2. **查看部署历史**
   ```bash
   ssh root@101.200.208.45 "ls -lh /data/logs/emotion-museum/"
   ```

3. **监控服务状态**
   ```bash
   ssh root@101.200.208.45 "ps aux | grep emotion"
   ```

4. **查看磁盘使用**
   ```bash
   ssh root@101.200.208.45 "df -h /data"
   ```

## 🔄 部署流程图

```
开始
  ↓
检查部署类型
  ├─→ backend: 执行后端部署
  ├─→ frontend: 执行前端部署
  └─→ all: 执行后端 + 前端部署
  ↓
验证部署结果
  ├─→ 成功: 输出访问地址
  └─→ 失败: 输出错误信息
  ↓
结束
```

## 📞 获取帮助

- 详细说明: `一键部署说明.md`
- 后端部署: `backend-single/部署说明.md`
- 前端部署: `web/部署说明.md`
- 后端脚本: `backend-single/deploy.sh`
- 前端脚本: `web/deploy.sh`

---

**快速参考版本**: 1.0
**最后更新**: 2025-10-26

