Files
happy-life-star/DEPLOYMENT.md
T

4.4 KiB

情绪博物馆项目部署指南

概述

本文档提供了情绪博物馆项目的完整部署指南,包括一键部署脚本的使用方法和手动部署步骤。

系统要求

本地开发环境

  • Java 17+
  • Maven 3.6+
  • Node.js 18+
  • SSH客户端

服务器环境

  • CentOS 7/8 或 RHEL 7/8
  • 最小 4GB RAM,推荐 8GB+
  • 最小 50GB 磁盘空间
  • Docker 支持

快速部署

1. 一键部署(推荐)

# 克隆项目
git clone <repository-url>
cd EmotionMuseum

# 执行一键部署
./deploy-final.sh all

2. 分步部署

# 1. 构建项目
./deploy-final.sh build

# 2. 配置服务器环境
./deploy-final.sh env

# 3. 配置数据库
./deploy-final.sh mysql

# 4. 配置Redis
./deploy-final.sh redis

# 5. 配置Nacos
./deploy-final.sh nacos

# 6. 上传构建产物
./deploy-final.sh upload

# 7. 导入数据库
./deploy-final.sh import-db

# 8. 部署应用服务
./deploy-final.sh deploy

# 9. 配置Nginx
./deploy-final.sh nginx

# 10. 创建密码记录
./deploy-final.sh passwords

# 11. 健康检查
./deploy-final.sh health

服务管理

启动/停止服务

# 查看服务状态
./deploy-final.sh status

# 启动服务
./deploy-final.sh start

# 停止服务
./deploy-final.sh stop

# 重启服务
./deploy-final.sh restart

查看日志

# 查看网关服务日志
./deploy-final.sh logs gateway

# 查看AI服务日志
./deploy-final.sh logs ai

# 查看用户服务日志
./deploy-final.sh logs user

配置说明

环境变量配置

主要配置文件:

  • .env.prod - 生产环境配置
  • web/.env.production - 前端生产环境配置

服务器配置

默认配置:

  • 服务器IP: 47.111.10.27
  • MySQL端口: 3306
  • Redis端口: 6379
  • Nacos端口: 8848
  • 网关端口: 9000
  • AI服务端口: 9002
  • 用户服务端口: 9001

目录结构

/data/
├── builds/           # 应用JAR文件
├── www/             # 前端文件
│   └── emotion-museum/
│       └── web/
├── logs/            # 日志文件
│   └── emotion-museum/
│       ├── gateway/
│       ├── ai/
│       └── user/
└── programs/        # 其他程序文件

访问地址

部署完成后的访问地址:

故障排除

常见问题

  1. 服务无法启动

    # 检查服务状态
    ./deploy-final.sh status
    
    # 查看日志
    ./deploy-final.sh logs <service>
    
  2. 数据库连接失败

    # 检查MySQL容器状态
    ssh root@47.111.10.27 "docker ps | grep mysql"
    
    # 检查数据库连接
    ssh root@47.111.10.27 "docker exec emotion-mysql-prod mysql -uemotion -pEmotionDB2024! -e 'SELECT 1;'"
    
  3. 前端页面无法访问

    # 检查Nginx状态
    ssh root@47.111.10.27 "systemctl status nginx"
    
    # 检查前端文件
    ssh root@47.111.10.27 "ls -la /data/www/emotion-museum/web/"
    

日志位置

  • 应用日志: /data/logs/emotion-museum/*/app.log
  • Nginx日志: /var/log/nginx/
  • Docker日志: docker logs <container-name>

安全建议

  1. 修改默认密码

    • MySQL root密码
    • 应用数据库密码
    • 服务器SSH密钥
  2. 配置防火墙

    # 只开放必要端口
    firewall-cmd --permanent --add-port=80/tcp
    firewall-cmd --permanent --add-port=8848/tcp
    firewall-cmd --reload
    
  3. 定期备份

    # 数据库备份
    docker exec emotion-mysql-prod mysqldump -uemotion -pEmotionDB2024! emotion_museum > backup.sql
    

更新部署

应用更新

# 1. 构建新版本
./deploy-final.sh build

# 2. 停止服务
./deploy-final.sh stop

# 3. 上传新文件
./deploy-final.sh upload

# 4. 启动服务
./deploy-final.sh start

配置更新

# 重新配置Nginx
./deploy-final.sh nginx

# 重启服务
./deploy-final.sh restart

监控和维护

健康检查

# 执行完整健康检查
./deploy-final.sh health

性能监控

建议使用以下工具进行监控:

  • Prometheus + Grafana
  • ELK Stack (日志分析)
  • Docker监控

联系支持

如遇到部署问题,请提供以下信息:

  1. 错误日志
  2. 系统环境信息
  3. 部署步骤和配置

注意: 请确保在生产环境中修改默认密码和配置,并定期进行安全更新。