8.9 KiB
8.9 KiB
情绪博物馆完整部署指南
📦 部署包信息
包名称: emotion-museum-1.0.0-20250713_111829.tar.gz
包大小: 680KB
SHA256: 900d585f575b1619e74296496e2fe22f2c2e71b6ad8901d7cab82634765cc10d
构建时间: 2025-07-13 11:18:29
🎯 部署概述
本部署包包含了情绪博物馆项目的完整容器化部署方案,支持:
- ✅ 前端Vue3应用(已构建)
- ✅ 后端微服务(Gateway、AI、User)
- ✅ 数据库脚本(MySQL)
- ✅ 完整的Docker配置
- ✅ 自动化部署脚本
- ✅ 监控和管理工具
🏗️ 系统架构
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 用户访问 │───▶│ Nginx │───▶│ 前端应用 │
└─────────────┘ │ (80/443) │ │ (3000) │
└─────────────┘ └─────────────┘
│
▼
┌─────────────┐ ┌─────────────┐
│ API网关 │───▶│ 微服务集群 │
│ (9000) │ │ AI/User/... │
└─────────────┘ └─────────────┘
│
▼
┌─────────────┐ ┌─────────────┐
│ MySQL │ │ Redis │
│ (3306) │ │ (6379) │
└─────────────┘ └─────────────┘
🚀 快速部署(推荐)
1. 下载和解压
# 下载部署包到服务器
wget https://your-domain.com/emotion-museum-1.0.0-20250713_111829.tar.gz
# 验证文件完整性
echo "900d585f575b1619e74296496e2fe22f2c2e71b6ad8901d7cab82634765cc10d emotion-museum-1.0.0-20250713_111829.tar.gz" | sha256sum -c
# 解压部署包
tar -xzf emotion-museum-1.0.0-20250713_111829.tar.gz
cd emotion-museum-1.0.0-20250713_111829
2. 配置环境变量
# 复制环境变量模板
cp .env .env.local
# 编辑配置文件
vim .env.local
必须配置的项目:
# Coze API配置(必须修改)
COZE_API_TOKEN=your-actual-coze-api-token
# 数据库密码(建议修改)
MYSQL_ROOT_PASSWORD=your-secure-password
MYSQL_PASSWORD=your-secure-password
# 时区设置
TZ=Asia/Shanghai
3. 一键部署
# 给脚本执行权限
chmod +x quick-deploy.sh
# 执行一键部署(自动安装Docker等依赖)
./quick-deploy.sh
4. 验证部署
# 查看服务状态
./manage.sh status
# 健康检查
./manage.sh health
# 查看日志
./manage.sh logs
🔧 手动部署(高级用户)
1. 环境准备
# 安装Docker
curl -fsSL https://get.docker.com | sh
sudo systemctl start docker
sudo systemctl enable docker
# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 添加用户到docker组
sudo usermod -aG docker $USER
2. 配置防火墙
# Ubuntu/Debian
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8848/tcp # Nacos(可选)
# CentOS/RHEL
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-port=8848/tcp
sudo firewall-cmd --reload
3. 部署服务
# 开发环境部署
./deploy.sh
# 或生产环境部署
docker-compose -f docker-compose.prod.yml up -d
⚙️ 配置说明
环境变量配置
| 变量名 | 说明 | 默认值 | 是否必须 |
|---|---|---|---|
COZE_API_TOKEN |
Coze API令牌 | - | ✅ 必须 |
MYSQL_ROOT_PASSWORD |
MySQL root密码 | 123456 | 🔶 建议修改 |
MYSQL_PASSWORD |
MySQL用户密码 | emotion123 | 🔶 建议修改 |
TZ |
时区设置 | Asia/Shanghai | ⭕ 可选 |
DOMAIN_NAME |
域名(生产环境) | localhost | ⭕ 可选 |
端口配置
| 服务 | 端口 | 说明 |
|---|---|---|
| Nginx | 80, 443 | Web访问端口 |
| Gateway | 9000 | API网关 |
| AI Service | 9002 | AI服务 |
| User Service | 9001 | 用户服务 |
| MySQL | 3306 | 数据库 |
| Redis | 6379 | 缓存 |
| Nacos | 8848 | 注册中心 |
🌐 生产环境配置
1. HTTPS配置
# 1. 准备SSL证书
mkdir -p deploy/nginx/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
2. 域名配置
# 修改Nginx配置中的域名
vim deploy/nginx/conf.d/emotion-museum.conf
# 将 localhost 替换为您的实际域名
3. 性能优化
# 1. 调整MySQL配置
vim deploy/mysql/conf.d/my.cnf
# 2. 调整Redis配置
vim deploy/redis/redis.conf
# 3. 调整JVM参数(在Dockerfile中)
# -Xms512m -Xmx1024m
🛠️ 管理命令
服务管理
./manage.sh start # 启动所有服务
./manage.sh stop # 停止所有服务
./manage.sh restart # 重启所有服务
./manage.sh restart gateway # 重启指定服务
./manage.sh status # 查看服务状态
日志管理
./manage.sh logs # 查看所有日志
./manage.sh logs -f # 跟踪日志输出
./manage.sh logs -s gateway # 查看网关日志
./manage.sh logs -s ai-service # 查看AI服务日志
数据管理
./manage.sh backup # 备份数据
./manage.sh restore backup.tar.gz # 恢复数据
./manage.sh update # 更新服务
./manage.sh clean # 清理资源
监控工具
./manage.sh monitor # 实时监控面板
./manage.sh health # 健康检查
📊 访问地址
部署完成后,您可以通过以下地址访问:
| 服务 | 地址 | 说明 |
|---|---|---|
| 前端应用 | http://localhost | 主要访问入口 |
| API文档 | http://localhost:9000/doc.html | Swagger文档 |
| Nacos控制台 | http://localhost:8848/nacos | 服务注册中心 |
| 网关健康检查 | http://localhost:9000/actuator/health | 服务状态 |
默认账号:
- Nacos: nacos / nacos
🚨 故障排除
常见问题
1. 端口冲突
# 检查端口占用
netstat -tlnp | grep :80
netstat -tlnp | grep :3306
# 解决方案:修改docker-compose.yml中的端口映射
2. 服务启动失败
# 查看具体错误
./manage.sh logs -s service-name
# 常见原因:
# - 内存不足
# - 端口被占用
# - 配置文件错误
# - 依赖服务未启动
3. 数据库连接失败
# 检查MySQL状态
docker-compose exec mysql mysqladmin ping -u root -p
# 检查网络连接
docker network ls
docker network inspect emotion-network
4. 前端访问404
# 检查Nginx配置
docker-compose exec nginx nginx -t
# 检查前端容器状态
docker-compose ps web
5. API调用失败
# 检查网关状态
curl http://localhost:9000/actuator/health
# 检查服务注册
curl http://localhost:8848/nacos/v1/ns/instance/list?serviceName=emotion-ai
性能问题
1. 内存不足
# 查看内存使用
free -h
docker stats
# 解决方案:
# - 增加服务器内存
# - 调整JVM参数
# - 减少并发连接数
2. 磁盘空间不足
# 查看磁盘使用
df -h
# 清理Docker资源
./manage.sh clean
docker system prune -a
3. 网络延迟
# 检查服务间网络
docker-compose exec gateway ping mysql
docker-compose exec gateway ping redis
# 优化网络配置
# 使用自定义网络
# 调整网络参数
🔒 安全建议
1. 密码安全
- ✅ 修改所有默认密码
- ✅ 使用强密码策略
- ✅ 定期更换密码
2. 网络安全
- ✅ 配置防火墙规则
- ✅ 使用HTTPS加密
- ✅ 限制不必要的端口访问
3. 数据安全
- ✅ 定期备份数据
- ✅ 启用数据库SSL
- ✅ 配置访问控制
4. 应用安全
- ✅ 配置JWT密钥
- ✅ 启用API限流
- ✅ 监控异常访问
📞 技术支持
获取帮助
- 查看文档: 包内的
DEPLOY.md和QUICK_START.md - 查看日志:
./manage.sh logs -f - 健康检查:
./manage.sh health - 查看版本:
cat VERSION.txt
联系方式
- 📧 技术支持邮箱: support@emotion-museum.com
- 📱 技术支持QQ群: 123456789
- 🌐 官方网站: https://emotion-museum.com
🎉 恭喜!您已成功部署情绪博物馆项目!
⚠️ 重要提醒:部署完成后请及时修改默认密码和敏感配置!