Files
012-kaopeilian/docs/测试环境配置.md
yuliang_guo 879247c8e9
All checks were successful
continuous-integration/drone/push Build is passing
docs: 添加MinIO对象存储配置文档
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-03 14:11:09 +08:00

6.5 KiB
Raw Blame History

考培练系统 - 环境配置与部署指南

最后更新2026-02-03

一、环境总览

环境 分支 域名 dist 目录 用途
测试环境 test https://kpl.ireborn.com.cn dist-test 功能开发测试
预生产 staging https://aiedu.ireborn.com.cn dist-staging 集成测试/预发布
生产环境 main 各租户域名 dist-prod 正式生产
超级管理后台 - https://admin.kpl.ireborn.com.cn - SaaS管理

二、租户列表

租户代码 名称 域名 前端端口 后端端口
hua 华尔倍丽 https://hua.ireborn.com.cn 3010 8010
yy 杨扬宠物 https://yy.ireborn.com.cn 3011 8011
hl 武汉禾丽 https://hl.ireborn.com.cn 3012 8012
xy 芯颜定制 https://xy.ireborn.com.cn 3013 8013
fw 飞沃 https://fw.ireborn.com.cn 3014 8014
ex 恩喜成都总院 https://ex.ireborn.com.cn 3015 8015
cxw 崔曦文 https://cxw.kpl.ireborn.com.cn 3016 8016

三、CI/CD 部署方式

3.1 开发1环境 (kpl-dev)

# 推送到 test 分支自动部署
git push cicd test

3.2 开发2环境 (主站)

# 推送到 dev2 分支自动部署
git push cicd dev2

3.3 生产环境 (租户)

# 推送到 main 分支,通过 commit message 控制部署范围
git push cicd main

部署所有租户

git commit -m "feat: 新功能上线 [all]"
git push cicd main

部署单个租户

git commit -m "fix: 修复问题 [hua]"
git push cicd main

部署多个租户

git commit -m "feat: 功能更新 [cxw,yy,hl]"
git push cicd main

默认行为

# 不带标签默认部署所有租户
git commit -m "feat: 常规更新"
git push cicd main

四、手动部署命令

4.1 SSH 登录服务器

ssh root@120.79.247.16
# 密码: Rxm88808

4.2 重启单个租户后端

cd /root/aiedu
docker restart cxw-backend

4.3 重建单个租户后端

cd /root/aiedu
docker-compose -f docker-compose.prod-multi.yml up -d --build --no-deps cxw-backend

4.4 查看日志

docker logs -f cxw-backend --tail 100

4.5 重新编译前端(所有租户共享)

cd /root/aiedu/kaopeilian-frontend
npm run build

五、数据库连接

5.1 生产共享 MySQL (prod-mysql)

  • 端口3309
  • 用户root
  • 密码ProdMySQL2025!@#
  • 数据库kaopeilian_hua, kaopeilian_yy, kaopeilian_hl, kaopeilian_xy, kaopeilian_fw, kaopeilian_ex, kaopeilian_cxw

5.2 开发测试 MySQL (kpl-mysql-dev)

  • 端口3308
  • 用户root
  • 密码nj861021
  • 数据库kaopeilian

5.3 主站 MySQL (kaopeilian-mysql)

  • 端口3307
  • 用户root
  • 密码nj861021
  • 数据库kaopeilian

六、对象存储MinIO

2026-02-03 新增,用于统一管理所有租户的文件存储

6.1 服务信息

项目
容器名 kaopeilian-minio
API端口 9000
管理界面端口 9001
数据目录 /data/minio/data
网络 prod-network

6.2 访问方式

6.3 Bucket列表

Bucket名称 租户 说明
kpl-ex 恩喜成都总院 生产环境
kpl-hua 华尔倍丽 生产环境
kpl-yy 杨扬宠物 生产环境
kpl-hl 武汉禾丽 生产环境
kpl-xy 芯颜定制 生产环境
kpl-fw 飞沃 生产环境
kpl-cxw 崔曦文 生产环境
kpl-demo 演示环境 预生产
kpl-kpl KPL测试 测试环境
kpl-peilian 陪练项目 其他项目

6.4 后端配置

.env 或环境变量中设置:

# MinIO配置
MINIO_ENABLED=true
MINIO_ENDPOINT=kaopeilian-minio:9000
MINIO_ACCESS_KEY=kaopeilian_admin
MINIO_SECRET_KEY=KplMinio2026!@#
MINIO_SECURE=false

6.5 常用命令

# SSH登录服务器后

# 查看MinIO状态
docker ps | grep minio

# 查看MinIO日志
docker logs kaopeilian-minio --tail 50

# 使用mc客户端操作
mc ls kpl/                     # 列出所有bucket
mc ls kpl/kpl-ex/              # 列出ex租户文件
mc cp file.pdf kpl/kpl-ex/     # 上传文件
mc rm kpl/kpl-ex/file.pdf      # 删除文件

6.6 架构说明

用户上传文件
    ↓
后端 storage_service
    ↓
MinIO对象存储持久化+ 本地缓存(加速预览)
    ↓
Nginx代理 → 用户下载

特性

  • 自动降级MinIO不可用时自动使用本地存储
  • URL兼容保持 /static/uploads/ 格式,前端无需改动
  • 智能缓存:文件自动下载到本地缓存用于预览/分析
  • 多租户隔离每个租户独立Bucket

七、容器管理

当前运行容器统计

类型 数量
前端容器 11
后端容器 11
Redis 10
MySQL 4
MinIO 1
Nginx 1
总计 38

查看所有容器

docker ps --format 'table {{.Names}}\t{{.Status}}'

八、测试账户

角色 用户名 密码
系统管理员 admin Admin123!
培训经理 manager Admin123!
测试学员 testuser Admin123!

九、注意事项

  1. 前端共享:所有生产租户共享同一套前端代码,编译一次全部更新
  2. 后端独立:每个租户有独立的后端容器和数据库
  3. 域名解析
    • *.ireborn.com.cn 解析到 120.79.242.43SCRM服务器
    • *.kpl.ireborn.com.cn 解析到 120.79.247.16(考培练服务器)
  4. SSL证书:使用 Let's Encrypt自动续期

十、Git 仓库配置

# 查看远程仓库
git remote -v

# origin: GitHub 源代码仓库
# cicd: Gitea CI/CD 触发仓库

# 常规开发
git push origin main

# 触发部署
git push cicd test    # 部署开发1
git push cicd dev2    # 部署开发2
git push cicd main    # 部署生产