26f0cdd760
🧹 项目结构优化: - 删除重复和过时的文件 - 整理文档到docs目录结构 - 优化配置文件到configs目录 - 创建清晰的PROJECT_STRUCTURE.md 🔧 中间件配置: - 重启MySQL/Redis/Nacos中间件 - 使用现有数据目录,确保数据完整性 - 统一密码配置: MySQL(EmotionMuseum2025*#), Nacos(Peanut2817*#) 🌐 Nginx配置: - 配置前端路径: /emotion-museum - 配置API代理: /api/ -> 19000 - 配置WebSocket代理: /ws/ -> 19007 - 添加健康检查端点: /health 📋 部署脚本优化: - restart-middleware.sh - 中间件重启脚本 - setup-nginx.sh - Nginx配置脚本 - cleanup-project.sh - 项目清理脚本 - one-click-deploy.sh - 一键部署脚本 📖 文档完善: - DEPLOYMENT_FINAL.md - 最终部署指南 - PROJECT_STRUCTURE.md - 项目结构说明 - 完整的运维和故障排查指南 ✅ 生产环境就绪: - 中间件: MySQL/Redis/Nacos 运行正常 - Nginx: 反向代理配置完成 - 访问地址: http://47.111.10.27/emotion-museum - 健康检查: http://47.111.10.27/health 🎯 项目现状: - 10个微服务模块完整 - 前后端分离架构 - 容器化部署 - 统一配置管理 - 完整的部署和运维体系
5.3 KiB
5.3 KiB
情感博物馆 - 最终部署指南
🎯 项目概述
情感博物馆是一个基于Spring Cloud Alibaba微服务架构的情感AI应用,包含10个微服务模块和Vue前端。
🏗️ 系统架构
后端微服务 (Spring Cloud Alibaba)
- emotion-gateway (19000) - API网关,统一入口
- emotion-user (19001) - 用户管理服务
- emotion-ai (19002) - AI聊天服务,集成Coze平台
- emotion-record (19003) - 记录管理服务
- emotion-growth (19004) - 成长跟踪服务
- emotion-explore (19005) - 探索服务
- emotion-reward (19006) - 奖励服务
- emotion-websocket (19007) - WebSocket实时通信
- emotion-auth (19008) - 认证授权服务
- emotion-stats (19009) - 统计分析服务
前端 (Vue + Ant Design)
- 基于Vue 3 + TypeScript + Ant Design
- 响应式设计,支持移动端
- WebSocket实时通信
- 集成AI聊天功能
中间件
- MySQL 8.0 (3306) - 主数据库
- Redis 7 (6379) - 缓存和会话存储
- Nacos 2.2.0 (8848) - 服务注册发现和配置中心
🚀 快速部署
1. 一键部署(推荐)
# 完整部署前后端
./one-click-deploy.sh
# 仅部署后端
./one-click-deploy.sh backend
# 仅部署前端
./one-click-deploy.sh frontend
# 健康检查
./one-click-deploy.sh check
2. 中间件管理
# 重启中间件(MySQL, Redis, Nacos)
./restart-middleware.sh
3. Nginx配置
# 配置Nginx反向代理
./setup-nginx.sh
📋 分步部署
步骤1: 准备环境
确保本地环境已安装:
- Java 17+
- Maven 3.6+
- Node.js 16+
- Docker (远程服务器)
步骤2: 启动中间件
./restart-middleware.sh
步骤3: 构建后端
cd backend
./build-all.sh
步骤4: 部署后端
cd backend
./deploy-remote.sh
步骤5: 部署前端
cd web-flowith
./deploy.sh
步骤6: 配置Nginx
./setup-nginx.sh
🌐 访问地址
生产环境
- 前端应用: http://47.111.10.27/emotion-museum
- API网关: http://47.111.10.27/api/
- WebSocket: ws://47.111.10.27/ws/
- 健康检查: http://47.111.10.27/health
管理后台
- Nacos控制台: http://47.111.10.27:8848/nacos
- 用户名: nacos
- 密码: Peanut2817*#
数据库连接
-
MySQL: 47.111.10.27:3306
- 用户名: root
- 密码: EmotionMuseum2025*#
- 数据库: emotion_museum
-
Redis: 47.111.10.27:6379
🔧 运维管理
查看服务状态
# 查看所有容器
ssh root@47.111.10.27 "docker ps"
# 查看特定服务日志
ssh root@47.111.10.27 "docker logs emotion-gateway --tail 50"
# 查看服务健康状态
curl http://47.111.10.27:19000/actuator/health
重启服务
# 重启单个服务
ssh root@47.111.10.27 "docker restart emotion-gateway"
# 重启所有微服务
ssh root@47.111.10.27 "docker restart \$(docker ps -q --filter name=emotion-)"
更新部署
# 更新后端服务
cd backend && ./deploy-remote.sh
# 更新前端
cd web-flowith && ./deploy.sh
# 完整更新
./one-click-deploy.sh
📊 监控和日志
应用日志
- 容器日志:
docker logs <service_name> - 应用日志:
/data/logs/emotion-museum/
Nginx日志
- 访问日志:
/var/log/nginx/emotion-museum.access.log - 错误日志:
/var/log/nginx/emotion-museum.error.log
健康检查端点
- 网关: http://47.111.10.27:19000/actuator/health
- 用户服务: http://47.111.10.27:19001/actuator/health
- AI服务: http://47.111.10.27:19002/actuator/health
🛠️ 故障排查
常见问题
1. 服务启动失败
# 查看容器日志
docker logs <service_name> --tail 50
# 检查端口占用
netstat -tlnp | grep <port>
# 重启服务
docker restart <service_name>
2. 数据库连接失败
# 检查MySQL状态
docker exec emotion-mysql mysqladmin ping
# 检查数据库连接
mysql -h 47.111.10.27 -u root -p
3. Nacos连接失败
# 检查Nacos状态
curl http://47.111.10.27:8848/nacos/v1/console/health
# 重启Nacos
docker restart emotion-nacos
4. 前端访问404
# 检查Nginx配置
nginx -t
# 检查前端文件
ls -la /data/www/emotion-museum/
# 重载Nginx
systemctl reload nginx
📁 项目结构
emotion-museum/
├── 📁 backend/ # 后端微服务
├── 📁 web-flowith/ # 前端Vue项目
├── 📁 docs/ # 项目文档
├── 📁 configs/ # 配置文件
├── 🔧 one-click-deploy.sh # 一键部署脚本
├── 🔧 restart-middleware.sh # 中间件重启脚本
├── 🔧 setup-nginx.sh # Nginx配置脚本
└── 📄 DEPLOYMENT_FINAL.md # 部署指南
🔐 安全配置
密码管理
- MySQL root密码: EmotionMuseum2025*#
- Nacos密码: Peanut2817*#
- 所有密码已在配置文件中统一
网络安全
- 所有服务运行在Docker网络中
- Nginx反向代理保护内部服务
- 仅必要端口对外开放
📞 技术支持
如遇到问题,请:
- 查看相关日志文件
- 检查服务健康状态
- 参考故障排查章节
- 联系开发团队并提供完整日志
版本: v2.0
更新时间: 2025-07-21
维护团队: 情感博物馆开发团队