Files
jiebanke/admin-system/DEPLOYMENT.md
2025-08-30 14:33:49 +08:00

4.3 KiB

结伴客后台管理系统部署指南

部署方式

1. 本地开发环境部署

使用 npm 脚本

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 构建生产版本
npm run build

# 预览生产版本
npm run preview

使用部署脚本

Linux/Mac:

chmod +x deploy.sh
./deploy.sh

Windows PowerShell:

.\deploy.ps1

2. Docker 容器化部署

开发环境

# 启动开发环境(包含前端、后端、数据库等所有服务)
docker-compose up frontend-dev backend mysql redis rabbitmq

# 或启动所有服务
docker-compose up

生产环境

# 构建并启动生产环境
docker-compose up -d frontend backend mysql redis rabbitmq

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs frontend

3. 单独服务部署

前端服务

# 开发模式
docker-compose up frontend-dev

# 生产模式
docker-compose up frontend

后端服务

docker-compose up backend

数据库服务

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 中配置:

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

监控和日志

查看日志

# 查看所有服务日志
docker-compose logs

# 查看特定服务日志
docker-compose logs frontend
docker-compose logs backend

服务状态监控

# 查看服务状态
docker-compose ps

# 查看资源使用情况
docker stats

故障排除

常见问题

  1. 端口冲突

    • 检查端口是否被占用
    • 修改 docker-compose.yml 中的端口映射
  2. 依赖安装失败

    • 清除缓存: npm cache clean --force
    • 删除 node_modules 重新安装
  3. 数据库连接失败

    • 检查数据库服务是否启动
    • 验证环境变量配置
  4. 构建失败

    • 检查 Node.js 版本 (要求 >= 16)
    • 检查系统依赖

调试模式

启动服务时添加调试标志:

# 前端开发调试
npm run dev -- --debug

# Docker 调试模式
docker-compose up --build --force-recreate

备份和恢复

数据库备份

# 备份MySQL数据
docker exec -i mysql mysqldump -uroot -ppassword jiebanke > backup.sql

# 恢复MySQL数据
docker exec -i mysql mysql -uroot -ppassword jiebanke < backup.sql

卷备份

# 备份数据库卷
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. 查看详细错误日志