feat: 项目初始化及当前全部内容提交

This commit is contained in:
2025-07-15 17:37:50 +08:00
parent ec817067f1
commit e78f192d34
622 changed files with 75174 additions and 383 deletions
+371
View File
@@ -0,0 +1,371 @@
# 情绪博物馆完整部署指南
## 📦 部署包信息
**包名称**: `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. 下载和解压
```bash
# 下载部署包到服务器
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. 配置环境变量
```bash
# 复制环境变量模板
cp .env .env.local
# 编辑配置文件
vim .env.local
```
**必须配置的项目**
```bash
# 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. 一键部署
```bash
# 给脚本执行权限
chmod +x quick-deploy.sh
# 执行一键部署(自动安装Docker等依赖)
./quick-deploy.sh
```
### 4. 验证部署
```bash
# 查看服务状态
./manage.sh status
# 健康检查
./manage.sh health
# 查看日志
./manage.sh logs
```
## 🔧 手动部署(高级用户)
### 1. 环境准备
```bash
# 安装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. 配置防火墙
```bash
# 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. 部署服务
```bash
# 开发环境部署
./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配置
```bash
# 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. 域名配置
```bash
# 修改Nginx配置中的域名
vim deploy/nginx/conf.d/emotion-museum.conf
# 将 localhost 替换为您的实际域名
```
### 3. 性能优化
```bash
# 1. 调整MySQL配置
vim deploy/mysql/conf.d/my.cnf
# 2. 调整Redis配置
vim deploy/redis/redis.conf
# 3. 调整JVM参数(在Dockerfile中)
# -Xms512m -Xmx1024m
```
## 🛠️ 管理命令
### 服务管理
```bash
./manage.sh start # 启动所有服务
./manage.sh stop # 停止所有服务
./manage.sh restart # 重启所有服务
./manage.sh restart gateway # 重启指定服务
./manage.sh status # 查看服务状态
```
### 日志管理
```bash
./manage.sh logs # 查看所有日志
./manage.sh logs -f # 跟踪日志输出
./manage.sh logs -s gateway # 查看网关日志
./manage.sh logs -s ai-service # 查看AI服务日志
```
### 数据管理
```bash
./manage.sh backup # 备份数据
./manage.sh restore backup.tar.gz # 恢复数据
./manage.sh update # 更新服务
./manage.sh clean # 清理资源
```
### 监控工具
```bash
./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. 端口冲突
```bash
# 检查端口占用
netstat -tlnp | grep :80
netstat -tlnp | grep :3306
# 解决方案:修改docker-compose.yml中的端口映射
```
#### 2. 服务启动失败
```bash
# 查看具体错误
./manage.sh logs -s service-name
# 常见原因:
# - 内存不足
# - 端口被占用
# - 配置文件错误
# - 依赖服务未启动
```
#### 3. 数据库连接失败
```bash
# 检查MySQL状态
docker-compose exec mysql mysqladmin ping -u root -p
# 检查网络连接
docker network ls
docker network inspect emotion-network
```
#### 4. 前端访问404
```bash
# 检查Nginx配置
docker-compose exec nginx nginx -t
# 检查前端容器状态
docker-compose ps web
```
#### 5. API调用失败
```bash
# 检查网关状态
curl http://localhost:9000/actuator/health
# 检查服务注册
curl http://localhost:8848/nacos/v1/ns/instance/list?serviceName=emotion-ai
```
### 性能问题
#### 1. 内存不足
```bash
# 查看内存使用
free -h
docker stats
# 解决方案:
# - 增加服务器内存
# - 调整JVM参数
# - 减少并发连接数
```
#### 2. 磁盘空间不足
```bash
# 查看磁盘使用
df -h
# 清理Docker资源
./manage.sh clean
docker system prune -a
```
#### 3. 网络延迟
```bash
# 检查服务间网络
docker-compose exec gateway ping mysql
docker-compose exec gateway ping redis
# 优化网络配置
# 使用自定义网络
# 调整网络参数
```
## 🔒 安全建议
### 1. 密码安全
- ✅ 修改所有默认密码
- ✅ 使用强密码策略
- ✅ 定期更换密码
### 2. 网络安全
- ✅ 配置防火墙规则
- ✅ 使用HTTPS加密
- ✅ 限制不必要的端口访问
### 3. 数据安全
- ✅ 定期备份数据
- ✅ 启用数据库SSL
- ✅ 配置访问控制
### 4. 应用安全
- ✅ 配置JWT密钥
- ✅ 启用API限流
- ✅ 监控异常访问
## 📞 技术支持
### 获取帮助
1. **查看文档**: 包内的 `DEPLOY.md``QUICK_START.md`
2. **查看日志**: `./manage.sh logs -f`
3. **健康检查**: `./manage.sh health`
4. **查看版本**: `cat VERSION.txt`
### 联系方式
- 📧 技术支持邮箱: support@emotion-museum.com
- 📱 技术支持QQ群: 123456789
- 🌐 官方网站: https://emotion-museum.com
---
**🎉 恭喜!您已成功部署情绪博物馆项目!**
**⚠️ 重要提醒:部署完成后请及时修改默认密码和敏感配置!**