284 lines
7.1 KiB
Markdown
284 lines
7.1 KiB
Markdown
# 情绪博物馆测试环境快速部署指南
|
||
|
||
## 📦 包内容说明
|
||
|
||
```
|
||
emotion-museum-1.0.0-YYYYMMDD_HHMMSS/
|
||
├── frontend/ # 前端构建产物
|
||
│ ├── assets/ # 静态资源
|
||
│ ├── index.html # 主页面
|
||
│ ├── Dockerfile # 前端容器配置
|
||
│ ├── nginx.conf # Nginx配置
|
||
│ └── config/ # 前端配置
|
||
├── backend/ # 后端JAR文件
|
||
│ ├── emotion-gateway-*.jar # 网关服务
|
||
│ ├── emotion-ai-*.jar # AI服务
|
||
│ ├── emotion-user-*.jar # 用户服务
|
||
│ ├── config/ # 配置文件
|
||
│ │ ├── application-test.yml
|
||
│ │ ├── gateway-test.yml
|
||
│ │ └── ai-test.yml
|
||
│ ├── gateway-Dockerfile # 网关容器配置
|
||
│ ├── ai-Dockerfile # AI服务容器配置
|
||
│ └── user-Dockerfile # 用户服务容器配置
|
||
├── database/ # 数据库脚本
|
||
│ ├── mysql_emotion_museum_final.sql
|
||
│ └── verify-database-script.sql
|
||
├── deploy/ # 部署配置
|
||
│ ├── nginx/conf.d/ # Nginx配置
|
||
│ ├── mysql/conf.d/ # MySQL配置
|
||
│ └── redis/ # Redis配置
|
||
├── docker-compose.yml # 默认配置
|
||
├── docker-compose.test.yml # 测试环境配置
|
||
├── deploy.sh # 主部署脚本
|
||
├── install-environment.sh # 环境安装脚本
|
||
├── init-database.sh # 数据库初始化脚本
|
||
├── manage.sh # 管理脚本(兼容)
|
||
├── .env.test # 测试环境变量
|
||
├── README.md # 快速开始指南
|
||
├── VERSION.txt # 版本信息
|
||
├── DEPLOY.md # 详细部署文档
|
||
└── QUICK_START.md # 本文件
|
||
```
|
||
|
||
## 🚀 快速部署步骤
|
||
|
||
### 1. 系统要求
|
||
- **操作系统**: Linux/macOS (推荐 Ubuntu 20.04+)
|
||
- **内存**: 最少4GB,推荐8GB+
|
||
- **磁盘**: 最少20GB可用空间
|
||
- **网络**: 能够访问互联网
|
||
|
||
### 2. 部署步骤
|
||
|
||
#### 方式一:一键部署(推荐)
|
||
```bash
|
||
# 1. 解压部署包
|
||
tar -xzf emotion-museum-*.tar.gz
|
||
cd emotion-museum-*
|
||
|
||
# 2. 配置环境变量(重要)
|
||
vim .env.test
|
||
# 修改 SERVER_IP 为实际IP
|
||
# 配置 COZE_API_TOKEN
|
||
|
||
# 3. 一键部署(包含环境安装、数据库初始化、服务部署)
|
||
chmod +x deploy.sh
|
||
./deploy.sh
|
||
```
|
||
|
||
#### 方式二:分步部署
|
||
```bash
|
||
# 1. 解压部署包
|
||
tar -xzf emotion-museum-*.tar.gz
|
||
cd emotion-museum-*
|
||
|
||
# 2. 配置环境变量
|
||
vim .env.test
|
||
|
||
# 3. 分步部署
|
||
chmod +x deploy.sh
|
||
./deploy.sh install-env # 安装环境
|
||
./deploy.sh init-db # 初始化数据库
|
||
./deploy.sh build # 构建镜像
|
||
./deploy.sh start # 启动服务
|
||
```
|
||
|
||
#### 方式三:跳过某些步骤
|
||
```bash
|
||
# 如果已安装环境,跳过环境安装
|
||
./deploy.sh --skip-env
|
||
|
||
# 如果已初始化数据库,跳过数据库初始化
|
||
./deploy.sh --skip-db
|
||
|
||
# 启用调试模式
|
||
./deploy.sh --debug
|
||
```
|
||
|
||
### 3. 验证部署
|
||
```bash
|
||
# 查看服务状态
|
||
./deploy.sh status
|
||
|
||
# 健康检查
|
||
./deploy.sh health
|
||
|
||
# 查看日志
|
||
./deploy.sh logs
|
||
```
|
||
|
||
### 4. 访问应用
|
||
- **前端应用**: http://localhost (或 http://your-server-ip)
|
||
- **API网关**: http://localhost:9000
|
||
- **Nacos控制台**: http://localhost:8848/nacos (nacos/nacos)
|
||
|
||
## ⚙️ 配置说明
|
||
|
||
### 必须配置项
|
||
编辑 `.env.test` 文件中的以下配置:
|
||
|
||
```bash
|
||
# 服务器IP(重要:修改为实际IP)
|
||
SERVER_IP=your-server-ip
|
||
|
||
# Coze API配置(必须)
|
||
COZE_API_TOKEN=your-actual-coze-api-token
|
||
|
||
# 数据库密码(建议修改)
|
||
MYSQL_ROOT_PASSWORD=your-secure-password
|
||
MYSQL_PASSWORD=your-secure-password
|
||
|
||
# JWT密钥(建议修改)
|
||
JWT_SECRET=your-production-jwt-secret-key
|
||
```
|
||
|
||
### 可选配置项
|
||
```bash
|
||
# 时区设置
|
||
TZ=Asia/Shanghai
|
||
|
||
# 端口配置
|
||
GATEWAY_PORT=9000
|
||
USER_SERVICE_PORT=9001
|
||
AI_SERVICE_PORT=9002
|
||
|
||
# 日志和存储路径
|
||
LOG_PATH=/data/logs/emotion-museum
|
||
UPLOAD_PATH=/data/uploads/emotion-museum
|
||
```
|
||
|
||
## 🛠️ 管理命令
|
||
|
||
```bash
|
||
# 主要部署命令
|
||
./deploy.sh # 完整部署
|
||
./deploy.sh start # 启动服务
|
||
./deploy.sh stop # 停止服务
|
||
./deploy.sh restart # 重启服务
|
||
./deploy.sh status # 查看状态
|
||
|
||
# 日志管理
|
||
./deploy.sh logs # 查看所有日志
|
||
./deploy.sh logs -f # 跟踪日志
|
||
./deploy.sh logs gateway # 查看网关日志
|
||
./deploy.sh logs ai-service # 查看AI服务日志
|
||
|
||
# 数据管理
|
||
./deploy.sh backup # 备份数据
|
||
./deploy.sh health # 健康检查
|
||
./deploy.sh clean # 清理资源
|
||
|
||
# 独立脚本
|
||
./install-environment.sh # 安装环境
|
||
./init-database.sh # 初始化数据库
|
||
|
||
# 兼容命令(旧版本)
|
||
./manage.sh start # 启动服务
|
||
./manage.sh status # 查看状态
|
||
```
|
||
|
||
## 🔧 生产环境配置
|
||
|
||
### 1. 使用生产配置
|
||
```bash
|
||
# 使用生产环境配置
|
||
docker-compose -f docker-compose.prod.yml up -d
|
||
```
|
||
|
||
### 2. 配置HTTPS
|
||
```bash
|
||
# 1. 放置SSL证书
|
||
cp your-domain.crt deploy/nginx/ssl/emotion-museum.crt
|
||
cp your-domain.key deploy/nginx/ssl/emotion-museum.key
|
||
|
||
# 2. 修改Nginx配置
|
||
vim deploy/nginx/conf.d/emotion-museum.conf
|
||
# 取消HTTPS相关配置的注释
|
||
|
||
# 3. 重启Nginx
|
||
docker-compose restart nginx
|
||
```
|
||
|
||
### 3. 配置域名
|
||
```bash
|
||
# 修改Nginx配置中的域名
|
||
vim deploy/nginx/conf.d/emotion-museum.conf
|
||
# 将 localhost 替换为您的域名
|
||
```
|
||
|
||
## 🚨 故障排除
|
||
|
||
### 常见问题
|
||
|
||
1. **环境安装失败**
|
||
```bash
|
||
# 检查系统要求
|
||
./install-environment.sh verify
|
||
|
||
# 手动安装特定组件
|
||
./install-environment.sh docker
|
||
```
|
||
|
||
2. **端口冲突**
|
||
```bash
|
||
# 检查端口占用
|
||
netstat -tlnp | grep :80
|
||
netstat -tlnp | grep :3306
|
||
|
||
# 修改 .env.test 中的端口配置
|
||
```
|
||
|
||
3. **数据库初始化失败**
|
||
```bash
|
||
# 查看MySQL容器日志
|
||
docker logs emotion-mysql
|
||
|
||
# 重新初始化
|
||
./init-database.sh clean
|
||
./init-database.sh
|
||
```
|
||
|
||
4. **服务启动失败**
|
||
```bash
|
||
# 查看服务日志
|
||
./deploy.sh logs service-name
|
||
|
||
# 查看容器状态
|
||
docker ps -a
|
||
```
|
||
|
||
5. **网络连接问题**
|
||
```bash
|
||
# 检查Docker网络
|
||
docker network ls
|
||
|
||
# 健康检查
|
||
./deploy.sh health
|
||
```
|
||
|
||
### 获取帮助
|
||
- 查看详细文档: `cat DEPLOY.md`
|
||
- 查看快速指南: `cat README.md`
|
||
- 查看版本信息: `cat VERSION.txt`
|
||
- 查看部署命令: `./deploy.sh --help`
|
||
|
||
## 📞 技术支持
|
||
|
||
如遇到问题,请按以下步骤排查:
|
||
|
||
1. **查看详细日志**:`./deploy.sh logs --debug`
|
||
2. **检查服务状态**:`./deploy.sh status`
|
||
3. **验证配置文件**:检查 `.env.test` 配置
|
||
4. **查看详细文档**:`DEPLOY.md`
|
||
5. **重新部署**:`./deploy.sh clean && ./deploy.sh`
|
||
|
||
## 📝 重要提醒
|
||
|
||
- ⚠️ **首次部署**:请务必修改 `.env.test` 中的 `SERVER_IP` 和 `COZE_API_TOKEN`
|
||
- ⚠️ **生产环境**:请修改所有默认密码和密钥
|
||
- ⚠️ **防火墙**:确保开放必要的端口 (80, 3306, 6379, 8848, 9000-9002)
|
||
|
||
---
|
||
**部署完成后,请及时修改默认密码和敏感配置!**
|