docs: 更新文档和deploy.sh-生产库改为milkydata_dev
This commit is contained in:
@@ -17,14 +17,16 @@
|
||||
```
|
||||
开发环境(dev.xmclassmate.top) — 单实例,无需蓝绿
|
||||
└── 实例 :8080
|
||||
└── 数据库 milkydata_dev
|
||||
└── 数据库 milkydata_dev(当前与生产共用)
|
||||
|
||||
生产环境(xmclassmate.top) — 蓝绿部署
|
||||
├── 蓝色实例 :4433(当前活动)
|
||||
├── 绿色实例 :4434(空闲)
|
||||
└── 数据库 milkydata(蓝绿共享,名称不变)
|
||||
└── 数据库 milkydata_dev(蓝绿共享,名称不变)
|
||||
```
|
||||
|
||||
> **当前状态**:生产环境使用 `milkydata_dev` 数据库(数据已从 `milkydata` 迁移)。开发与生产暂共用同一数据库,后续建议拆分。
|
||||
|
||||
开发环境不需要蓝绿的原因:
|
||||
|
||||
| 原因 | 说明 |
|
||||
@@ -42,7 +44,7 @@
|
||||
| 环境 | 数据库 | 蓝绿实例共同连接 |
|
||||
|------|--------|----------------|
|
||||
| 开发 | `milkydata_dev` | 单实例,无需蓝绿 |
|
||||
| 生产 | `milkydata` | `DATABASE_URL=postgres://.../milkydata` |
|
||||
| 生产 | `milkydata_dev` | `DATABASE_URL=postgres://.../milkydata_dev` |
|
||||
|
||||
两个蓝绿实例的 service 文件中 `DATABASE_URL` 配置为完全相同的值。切换蓝绿时只改端口,不改数据库连接。
|
||||
|
||||
@@ -76,7 +78,7 @@ xmclassmate.top ──→ xmclassmate.top ──→ :4433(蓝)
|
||||
│ │
|
||||
└──────────┬─────────────┘
|
||||
↓
|
||||
milkydata(共享数据库)
|
||||
milkydata_dev(共享数据库)
|
||||
```
|
||||
|
||||
任何时候只有一个实例接收流量,另一个运行旧版本待命。
|
||||
@@ -91,7 +93,7 @@ xmclassmate.top ──→ xmclassmate.top ──→ :4433(蓝)
|
||||
└── rust-backend-green.service ← 端口 4434
|
||||
```
|
||||
|
||||
每个 service 配置与现有 `rust-backend.service` 一致,仅端口和描述不同,且 `DATABASE_URL` 指向 `milkydata`。
|
||||
每个 service 配置一致,仅端口和描述不同,`DATABASE_URL` 均指向 `milkydata_dev`。
|
||||
|
||||
### 新增 OpenResty 配置
|
||||
|
||||
@@ -158,7 +160,7 @@ scripts/
|
||||
|
||||
## 数据库迁移注意事项
|
||||
|
||||
蓝绿部署中两个实例共享同一数据库(`milkydata`),迁移脚本需要对**新旧两个版本的代码都兼容**:
|
||||
蓝绿部署中两个实例共享同一数据库(`milkydata_dev`),迁移脚本需要对**新旧两个版本的代码都兼容**:
|
||||
|
||||
| 迁移类型 | 兼容性 | 说明 |
|
||||
|---------|--------|------|
|
||||
@@ -204,19 +206,21 @@ scripts/
|
||||
|
||||
| # | 步骤 | 说明 | 执行方 |
|
||||
|---|------|------|--------|
|
||||
| 1 | **生产库跑迁移** | 在 `milkydata` 上执行 `010_rename_paid_fields.sql` 等缺失迁移 | 服务器操作 |
|
||||
| 1 | **数据迁移** | `milkydata` → `milkydata_dev`(**已完成**) | ✅ 已执行 |
|
||||
| 2 | **准备生产 service 文件** | 填写 `deploy/rust-backend-prod.service` 中的实际值(JWT_SECRET、WECHAT_*、ALIPAY_*、DATABASE_URL) | 开发者 |
|
||||
| 3 | **部署生产后端** | `./deploy.sh production` 部署新代码到 `:4433` | 服务器操作 |
|
||||
| 4 | **修改前端 `CURRENT_ENV`** | `env.ts` 中 `CURRENT_ENV = 'production'`(当前已完成) | 开发者 |
|
||||
| 3 | **部署生产后端** | `./deploy.sh production` 部署新代码到 `:4433`,数据库指向 `milkydata_dev` | 服务器操作 |
|
||||
| 4 | **修改前端 `CURRENT_ENV`** | `env.ts` 中 `CURRENT_ENV = 'production'` | 开发者 |
|
||||
| 5 | **上传小程序** | 微信开发者工具上传代码(此时连 `xmclassmate.top`) | 开发者 |
|
||||
| 6 | **修改反向代理端口**(如需蓝绿) | 1Panel 中调整 `proxy_pass` 指向新端口 | 服务器操作 |
|
||||
|
||||
### 端口映射汇总
|
||||
### 数据库配置汇总
|
||||
|
||||
| 环境 | 域名 | 数据库 | 当前端口 | 蓝绿备选端口 |
|
||||
|------|------|--------|---------|-------------|
|
||||
| 开发 | `dev.xmclassmate.top` | `milkydata_dev` | `:8080` | 无(单实例) |
|
||||
| 生产 | `xmclassmate.top` | `milkydata` | `:4433` | `:4434` |
|
||||
| 生产 | `xmclassmate.top` | `milkydata_dev` | `:4433` | `:4434` |
|
||||
|
||||
> 生产与开发目前共用 `milkydata_dev`。`milkydata` 作为历史数据源保留,不再更新。后续建议创建独立的生产数据库 `milkydata_prod`。
|
||||
|
||||
## 当前是否实施
|
||||
|
||||
|
||||
Reference in New Issue
Block a user