Files
happy-life-star/DEPLOYMENT_GUIDE.md
T

8.9 KiB
Raw Blame History

情绪博物馆完整部署指南

📦 部署包信息

包名称: 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限流
  • 监控异常访问

📞 技术支持

获取帮助

  1. 查看文档: 包内的 DEPLOY.mdQUICK_START.md
  2. 查看日志: ./manage.sh logs -f
  3. 健康检查: ./manage.sh health
  4. 查看版本: cat VERSION.txt

联系方式


🎉 恭喜!您已成功部署情绪博物馆项目!

⚠️ 重要提醒:部署完成后请及时修改默认密码和敏感配置!