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

306 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 考培练系统 - 环境配置与部署指南
> 最后更新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)
```bash
# 推送到 test 分支自动部署
git push cicd test
```
- **触发条件**`test` 分支 push
- **部署目标**kpl-dev 容器组
- **访问地址**https://kpl.ireborn.com.cn
---
### 3.2 开发2环境 (主站)
```bash
# 推送到 dev2 分支自动部署
git push cicd dev2
```
- **触发条件**`dev2` 分支 push
- **部署目标**kaopeilian 主站容器
- **访问地址**https://aiedu.ireborn.com.cn
---
### 3.3 生产环境 (租户)
```bash
# 推送到 main 分支,通过 commit message 控制部署范围
git push cicd main
```
#### 部署所有租户
```bash
git commit -m "feat: 新功能上线 [all]"
git push cicd main
```
#### 部署单个租户
```bash
git commit -m "fix: 修复问题 [hua]"
git push cicd main
```
#### 部署多个租户
```bash
git commit -m "feat: 功能更新 [cxw,yy,hl]"
git push cicd main
```
#### 默认行为
```bash
# 不带标签默认部署所有租户
git commit -m "feat: 常规更新"
git push cicd main
```
---
## 四、手动部署命令
### 4.1 SSH 登录服务器
```bash
ssh root@120.79.247.16
# 密码: Rxm88808
```
### 4.2 重启单个租户后端
```bash
cd /root/aiedu
docker restart cxw-backend
```
### 4.3 重建单个租户后端
```bash
cd /root/aiedu
docker-compose -f docker-compose.prod-multi.yml up -d --build --no-deps cxw-backend
```
### 4.4 查看日志
```bash
docker logs -f cxw-backend --tail 100
```
### 4.5 重新编译前端(所有租户共享)
```bash
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 访问方式
- **管理界面**: http://120.79.247.16:9001
- **API端点**: http://kaopeilian-minio:9000容器内
- **用户名**: `kaopeilian_admin`
- **密码**: `KplMinio2026!@#`
### 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` 或环境变量中设置:
```bash
# MinIO配置
MINIO_ENABLED=true
MINIO_ENDPOINT=kaopeilian-minio:9000
MINIO_ACCESS_KEY=kaopeilian_admin
MINIO_SECRET_KEY=KplMinio2026!@#
MINIO_SECURE=false
```
### 6.5 常用命令
```bash
# 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** |
### 查看所有容器
```bash
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 仓库配置
```bash
# 查看远程仓库
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 # 部署生产
```