Generating commit message...
This commit is contained in:
245
admin-system/DEPLOYMENT.md
Normal file
245
admin-system/DEPLOYMENT.md
Normal file
@@ -0,0 +1,245 @@
|
||||
# 结伴客后台管理系统部署指南
|
||||
|
||||
## 部署方式
|
||||
|
||||
### 1. 本地开发环境部署
|
||||
|
||||
#### 使用 npm 脚本
|
||||
|
||||
```bash
|
||||
# 安装依赖
|
||||
npm install
|
||||
|
||||
# 启动开发服务器
|
||||
npm run dev
|
||||
|
||||
# 构建生产版本
|
||||
npm run build
|
||||
|
||||
# 预览生产版本
|
||||
npm run preview
|
||||
```
|
||||
|
||||
#### 使用部署脚本
|
||||
|
||||
**Linux/Mac:**
|
||||
```bash
|
||||
chmod +x deploy.sh
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
**Windows PowerShell:**
|
||||
```powershell
|
||||
.\deploy.ps1
|
||||
```
|
||||
|
||||
### 2. Docker 容器化部署
|
||||
|
||||
#### 开发环境
|
||||
```bash
|
||||
# 启动开发环境(包含前端、后端、数据库等所有服务)
|
||||
docker-compose up frontend-dev backend mysql redis rabbitmq
|
||||
|
||||
# 或启动所有服务
|
||||
docker-compose up
|
||||
```
|
||||
|
||||
#### 生产环境
|
||||
```bash
|
||||
# 构建并启动生产环境
|
||||
docker-compose up -d frontend backend mysql redis rabbitmq
|
||||
|
||||
# 查看服务状态
|
||||
docker-compose ps
|
||||
|
||||
# 查看日志
|
||||
docker-compose logs frontend
|
||||
```
|
||||
|
||||
### 3. 单独服务部署
|
||||
|
||||
#### 前端服务
|
||||
```bash
|
||||
# 开发模式
|
||||
docker-compose up frontend-dev
|
||||
|
||||
# 生产模式
|
||||
docker-compose up frontend
|
||||
```
|
||||
|
||||
#### 后端服务
|
||||
```bash
|
||||
docker-compose up backend
|
||||
```
|
||||
|
||||
#### 数据库服务
|
||||
```bash
|
||||
docker-compose up mysql redis rabbitmq
|
||||
```
|
||||
|
||||
## 环境配置
|
||||
|
||||
### 环境变量文件
|
||||
|
||||
创建以下环境变量文件:
|
||||
|
||||
**.env.development** (开发环境):
|
||||
```
|
||||
VITE_APP_TITLE=结伴客后台管理系统(开发)
|
||||
VITE_API_BASE_URL=http://localhost:3000
|
||||
VITE_APP_VERSION=dev
|
||||
```
|
||||
|
||||
**.env.production** (生产环境):
|
||||
```
|
||||
VITE_APP_TITLE=结伴客后台管理系统
|
||||
VITE_API_BASE_URL=https://api.jiebanke.com
|
||||
VITE_APP_VERSION=v1.0.0
|
||||
```
|
||||
|
||||
### Docker 环境变量
|
||||
|
||||
在 `docker-compose.yml` 中配置:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- DB_HOST=mysql
|
||||
- DB_PORT=3306
|
||||
- DB_NAME=jiebanke
|
||||
- DB_USER=root
|
||||
- DB_PASSWORD=password
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- RABBITMQ_HOST=rabbitmq
|
||||
- RABBITMQ_PORT=5672
|
||||
```
|
||||
|
||||
## 端口映射
|
||||
|
||||
| 服务 | 容器端口 | 主机端口 | 说明 |
|
||||
|------|----------|----------|------|
|
||||
| 前端 | 80 | 80 | 生产环境前端 |
|
||||
| 前端开发 | 5173 | 5173 | 开发环境前端 |
|
||||
| 后端API | 3000 | 3000 | Node.js后端服务 |
|
||||
| MySQL | 3306 | 3306 | 数据库服务 |
|
||||
| Redis | 6379 | 6379 | 缓存服务 |
|
||||
| RabbitMQ | 5672 | 5672 | 消息队列服务 |
|
||||
| RabbitMQ管理 | 15672 | 15672 | 管理界面 |
|
||||
|
||||
## 健康检查
|
||||
|
||||
系统提供健康检查端点:
|
||||
- 前端: `http://localhost:80/health`
|
||||
- 后端: `http://localhost:3000/health`
|
||||
|
||||
## 监控和日志
|
||||
|
||||
### 查看日志
|
||||
```bash
|
||||
# 查看所有服务日志
|
||||
docker-compose logs
|
||||
|
||||
# 查看特定服务日志
|
||||
docker-compose logs frontend
|
||||
docker-compose logs backend
|
||||
```
|
||||
|
||||
### 服务状态监控
|
||||
```bash
|
||||
# 查看服务状态
|
||||
docker-compose ps
|
||||
|
||||
# 查看资源使用情况
|
||||
docker stats
|
||||
```
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 常见问题
|
||||
|
||||
1. **端口冲突**
|
||||
- 检查端口是否被占用
|
||||
- 修改 `docker-compose.yml` 中的端口映射
|
||||
|
||||
2. **依赖安装失败**
|
||||
- 清除缓存: `npm cache clean --force`
|
||||
- 删除 node_modules 重新安装
|
||||
|
||||
3. **数据库连接失败**
|
||||
- 检查数据库服务是否启动
|
||||
- 验证环境变量配置
|
||||
|
||||
4. **构建失败**
|
||||
- 检查 Node.js 版本 (要求 >= 16)
|
||||
- 检查系统依赖
|
||||
|
||||
### 调试模式
|
||||
|
||||
启动服务时添加调试标志:
|
||||
```bash
|
||||
# 前端开发调试
|
||||
npm run dev -- --debug
|
||||
|
||||
# Docker 调试模式
|
||||
docker-compose up --build --force-recreate
|
||||
```
|
||||
|
||||
## 备份和恢复
|
||||
|
||||
### 数据库备份
|
||||
```bash
|
||||
# 备份MySQL数据
|
||||
docker exec -i mysql mysqldump -uroot -ppassword jiebanke > backup.sql
|
||||
|
||||
# 恢复MySQL数据
|
||||
docker exec -i mysql mysql -uroot -ppassword jiebanke < backup.sql
|
||||
```
|
||||
|
||||
### 卷备份
|
||||
```bash
|
||||
# 备份数据库卷
|
||||
docker run --rm -v mysql_data:/source -v $(pwd):/backup alpine tar czf /backup/mysql_backup.tar.gz -C /source .
|
||||
```
|
||||
|
||||
## 安全建议
|
||||
|
||||
1. **修改默认密码**
|
||||
- MySQL root 密码
|
||||
- RabbitMQ 默认用户密码
|
||||
- Redis 密码(如果需要)
|
||||
|
||||
2. **启用HTTPS**
|
||||
- 配置SSL证书
|
||||
- 使用反向代理
|
||||
|
||||
3. **防火墙配置**
|
||||
- 只开放必要的端口
|
||||
- 限制外部访问
|
||||
|
||||
4. **定期更新**
|
||||
- 更新Docker镜像
|
||||
- 更新依赖包
|
||||
|
||||
## 性能优化
|
||||
|
||||
1. **启用缓存**
|
||||
- 配置Redis缓存
|
||||
- 使用CDN加速静态资源
|
||||
|
||||
2. **负载均衡**
|
||||
- 使用nginx负载均衡
|
||||
- 配置多实例部署
|
||||
|
||||
3. **数据库优化**
|
||||
- 添加索引
|
||||
- 查询优化
|
||||
- 连接池配置
|
||||
|
||||
## 支持
|
||||
|
||||
如遇部署问题,请检查:
|
||||
1. Docker 和 Docker Compose 版本
|
||||
2. 系统资源(内存、磁盘空间)
|
||||
3. 网络连接
|
||||
4. 查看详细错误日志
|
||||
Reference in New Issue
Block a user