feat: 项目初始化及当前全部内容提交
This commit is contained in:
@@ -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
|
||||
|
||||
---
|
||||
|
||||
**🎉 恭喜!您已成功部署情绪博物馆项目!**
|
||||
|
||||
**⚠️ 重要提醒:部署完成后请及时修改默认密码和敏感配置!**
|
||||
Reference in New Issue
Block a user