feat(aia): Complete AIA V2.0 with universal streaming capabilities
Major Changes: - Add StreamingService with OpenAI Compatible format - Upgrade Chat component V2 with Ant Design X integration - Implement AIA module with 12 intelligent agents - Update API routes to unified /api/v1 prefix - Update system documentation Backend (~1300 lines): - common/streaming: OpenAI Compatible adapter - modules/aia: 12 agents, conversation service, streaming integration - Update route versions (RVW, PKB to v1) Frontend (~3500 lines): - modules/aia: AgentHub + ChatWorkspace (100% prototype restoration) - shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook - Update API endpoints to v1 Documentation: - AIA module status guide - Universal capabilities catalog - System overview updates - All module documentation sync Tested: Stream response verified, authentication working Status: AIA V2.0 core completed (85%)
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
# 🚀 阿里云SAE部署完全指南(产品经理版)
|
||||
# <EFBFBD><EFBFBD> <20>輸<EFBFBD>鈭騌AE<41>函蔡摰<E894A1><E691B0><EFBFBD><EFBFBD><EFBFBD>嚗<EFBFBD>漣<EFBFBD><E6BCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
|
||||
|
||||
> **文档版本:** v1.0
|
||||
> **创建日期:** 2025-12-11
|
||||
> **适用人群:** 无部署经验的产品经理、项目负责人
|
||||
> **预计时间:** 2-3小时(包含等待时间)
|
||||
> **难度等级:** ⭐⭐ 简单(保姆级教程)
|
||||
> **<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦嚗?* v1.0
|
||||
> **<EFBFBD>𥕦遣<EFBFBD>交<EFBFBD>嚗?* 2025-12-11
|
||||
> **<EFBFBD><EFBFBD>鍂鈭箇黎嚗?* <20>𣳇<EFBFBD>蝵脩<E89DB5>撉𣬚<E69289>鈭批<E988AD>蝏讐<E89D8F><E8AE90><EFBFBD>★<EFBFBD>株<EFBFBD>韐<EFBFBD>犖
|
||||
> **憸<EFBFBD>恣<EFBFBD>園𡢿嚗?* 2-3撠𤩺𧒄嚗<F0A79284><E59A97><EFBFBD>怎<EFBFBD>敺<EFBFBD>𧒄<EFBFBD>湛<EFBFBD>
|
||||
> **<EFBFBD>曉漲蝑厩漣嚗?* 潃鐥<E6BD83> 蝞<><E89D9E>𤏪<EFBFBD>靽嘥<E99DBD>蝥扳<E89DA5>蝔页<E89D94>
|
||||
|
||||
---
|
||||
|
||||
@@ -15,61 +15,61 @@
|
||||
3. [蝚砌<EFBFBD>甇伐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Docker<EFBFBD>𨅯<EFBFBD>](#蝚砌<E89D9A>甇亙<E79487>憭晍ocker<65>𨅯<EFBFBD>)
|
||||
4. [蝚砌<E89D9A>甇伐<E79487><E4BC90>滨蔭<E6BBA8>輸<EFBFBD>鈭烐<E988AD><E78390>((#蝚砌<EFBFBD>甇仿<EFBFBD>蝵桅燵<EFBFBD>䔶<EFBFBD><EFBFBD>滚𦛚)
|
||||
5. [蝚砌<EFBFBD>甇伐<EFBFBD><EFBFBD>函蔡<EFBFBD>訕AE](#蝚砌<E89D9A>甇仿<E79487>蝵脣<E89DB5>sae)
|
||||
6. [第四步:部署前端](#第四步部署前端)
|
||||
7. [第五步:验证部署](#第五步验证部署)
|
||||
6. [蝚砍<EFBFBD>甇伐<EFBFBD><EFBFBD>函蔡<EFBFBD>滨垢](#蝚砍<EFBFBD>甇仿<EFBFBD>蝵脣<EFBFBD>蝡?
|
||||
7. [蝚砌<EFBFBD>甇伐<EFBFBD>撉諹<EFBFBD><EFBFBD>函蔡](#蝚砌<EFBFBD>甇仿<EFBFBD>霂<EFBFBD><EFBFBD>蝵?
|
||||
8. [撣貉<EFBFBD><EFBFBD>桅<EFBFBD>閫<EFBFBD><EFBFBD>](#撣貉<E692A3><E8B289>桅<EFBFBD>閫<EFBFBD><E996AB>)
|
||||
|
||||
---
|
||||
|
||||
## <20>滨蔭<E6BBA8><E894AD><EFBFBD>
|
||||
|
||||
### ✅ 您已经购买的服务
|
||||
### <EFBFBD>?<3F>典歇蝏讛揚銋啁<E98A8B><E59581>滚𦛚
|
||||
|
||||
| 服务 | 状态 | 说明 |
|
||||
| <EFBFBD>滚𦛚 | <20>嗆<EFBFBD>?| 霂湔<E99C82> |
|
||||
|------|------|------|
|
||||
| **阿里云SAE** | ✅ 已购买 | Serverless应用引擎 |
|
||||
| **云数据库RDS PostgreSQL** | ✅ 已购买 | 数据库服务 |
|
||||
| **对象存储OSS** | ✅ 已购买 | 文件存储服务 |
|
||||
| **<EFBFBD>輸<EFBFBD>鈭騌AE** | <EFBFBD>?撌脰揚銋?| Serverless摨𠉛鍂撘閙<EFBFBD> |
|
||||
| **鈭烐㺭<EFBFBD>桀<EFBFBD>RDS PostgreSQL** | <EFBFBD>?撌脰揚銋?| <20>唳旿摨𤘪<E691A8><F0A498AA>?|
|
||||
| **撖寡情摮睃<EFBFBD>OSS** | <EFBFBD>?撌脰揚銋?| <20><>辣摮睃<E691AE><E79D83>滚𦛚 |
|
||||
|
||||
### <20>凃 <20>券<EFBFBD>閬<EFBFBD><E996AC>鋆<EFBFBD><E98B86>撌亙<E6928C>
|
||||
|
||||
1. **Docker Desktop**
|
||||
- 銝贝蝸<E8B49D>啣<EFBFBD>嚗冴ttps://www.docker.com/products/docker-desktop/
|
||||
- Windows蝟餌<E89D9F><E9A48C>㗇𥋘 "Docker Desktop for Windows"
|
||||
- 安装后重启电脑
|
||||
- 摰㕑<EFBFBD><EFBFBD>𡡞<EFBFBD><EFBFBD>舐㩞<EFBFBD>?
|
||||
|
||||
2. **<EFBFBD>輸<EFBFBD>鈭飈LI嚗<EFBFBD>虾<EFBFBD>㚁<EFBFBD>**
|
||||
- 如果不想用命令行,可以全程使用阿里云控制台网页操作
|
||||
- 憒<EFBFBD><EFBFBD>銝齿<EFBFBD><EFBFBD>典𦶢隞方<EFBFBD>嚗<EFBFBD>虾隞亙<EFBFBD>蝔衤蝙<EFBFBD>券燵<EFBFBD>䔶<EFBFBD><EFBFBD>批<EFBFBD><EFBFBD>啁<EFBFBD>憿菜<EFBFBD>雿?
|
||||
|
||||
---
|
||||
|
||||
## 需不需要购买Redis?
|
||||
## <EFBFBD><EFBFBD>銝漤<EFBFBD>閬<EFBFBD>揚銋訌edis嚗?
|
||||
|
||||
### 📊 答案:**初期不需要,未来可能需要**
|
||||
### <EFBFBD><EFBFBD> 蝑娍<E89D91>嚗?*<2A>脲<EFBFBD>銝漤<E98A9D>閬<EFBFBD><E996AC><EFBFBD>芣䔉<E88AA3>航<EFBFBD><E888AA><EFBFBD>閬?*
|
||||
|
||||
| <20>箸艶 | <20>臬炏<E887AC><E7828F>閬<EFBFBD>edis | 霂湔<E99C82> |
|
||||
|------|--------------|------|
|
||||
| **开发测试环境** | ❌ 不需要 | 使用内存缓存即可 |
|
||||
| **初期用户<100人** | ❌ 不需要 | 使用内存缓存足够 |
|
||||
| **中期用户100-1000人** | ⚠️ 建议购买 | 提升性能,¥200/月 |
|
||||
| **成熟期用户>1000人** | ✅ 必须购买 | 必须使用Redis |
|
||||
| **撘<EFBFBD><EFBFBD>烐<EFBFBD>霂閧㴓憓?* | <20>?銝漤<E98A9D>閬?| 雿輻鍂<E8BCBB><E98D82><EFBFBD>蝻枏<E89DBB><E69E8F>喳虾 |
|
||||
| **<EFBFBD>脲<EFBFBD><EFBFBD>冽<EFBFBD><100鈭?* | <20>?銝漤<E98A9D>閬?| 雿輻鍂<E8BCBB><E98D82><EFBFBD>蝻枏<E89DBB>頞喳<E9A09E> |
|
||||
| **銝剜<EFBFBD><EFBFBD>冽<EFBFBD>100-1000鈭?* | <20>𩤃<EFBFBD> 撱箄悅韐凋僭 | <20>𣂼<EFBFBD><F0A382BC>扯<EFBFBD>嚗𡐿?00/<EFBFBD>?|
|
||||
| **<EFBFBD>鞟<EFBFBD><EFBFBD>毺鍂<EFBFBD>?1000鈭?* | <20>?敹<>◆韐凋僭 | 敹<>◆雿輻鍂Redis |
|
||||
|
||||
### <20>㴓 <20>𤑳<EFBFBD>撱箄悅
|
||||
|
||||
**<EFBFBD>啣銁<EFBFBD>𥕦遣撘<EFBFBD><EFBFBD>烐<EFBFBD>霂閧㴓憓<EFBFBD><EFBFBD>銝滩<EFBFBD>韐凋僭Redis**
|
||||
|
||||
原因:
|
||||
1. ✅ 您的代码已经支持 `CACHE_TYPE=memory`(内存缓存)
|
||||
2. ✅ 开发测试阶段,内存缓存完全够用
|
||||
3. ✅ 等真正上线后,根据实际情况再决定
|
||||
4. ✅ 节省成本(初期省¥200/月)
|
||||
<EFBFBD>笔<EFBFBD>嚗?
|
||||
1. <EFBFBD>?<3F>函<EFBFBD>隞<EFBFBD><E99A9E>撌脩<E6928C><E884A9>舀<EFBFBD> `CACHE_TYPE=memory`嚗<EFBFBD><EFBFBD>摮条<EFBFBD>摮矋<EFBFBD>
|
||||
2. <EFBFBD>?撘<><E69298>烐<EFBFBD>霂閖𧫴畾蛛<E795BE><E89B9B><EFBFBD><EFBFBD>蝻枏<E89DBB>摰<EFBFBD><E691B0>憭毺鍂
|
||||
3. <EFBFBD>?蝑厩<E89D91>甇<EFBFBD><E79487>蝥踹<E89DA5>嚗峕覔<E5B395>桀<EFBFBD><E6A180><EFBFBD><EFBFBD><EFBFBD>萄<EFBFBD><E89084>喳<EFBFBD>
|
||||
4. <EFBFBD>?<3F><><EFBFBD><EFBFBD>鞉𧋦嚗<F0A78BA6><E59A97><EFBFBD>毺<EFBFBD>瞼200/<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
**环境变量配置:**
|
||||
**<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD><EFBFBD>滨蔭嚗?*
|
||||
```bash
|
||||
# 銝滢蝙<E6BBA2>沖edis
|
||||
CACHE_TYPE=memory
|
||||
|
||||
# 未来需要时,只需改为:
|
||||
# <EFBFBD>芣䔉<EFBFBD><EFBFBD>閬<EFBFBD>𧒄嚗<EFBFBD>蘨<EFBFBD><EFBFBD><EFBFBD>嫣蛹嚗?
|
||||
CACHE_TYPE=redis
|
||||
REDIS_HOST=r-xxxx.redis.rds.aliyuncs.com
|
||||
REDIS_PASSWORD=your_password
|
||||
@@ -81,7 +81,7 @@ REDIS_PASSWORD=your_password
|
||||
|
||||
### <20>𣑐 1.1 <20>𥕦遣Dockerfile<6C><65>辣
|
||||
|
||||
在 `AIclinicalresearch/backend/` 目录下创建文件 `Dockerfile`(如果不存在):
|
||||
<EFBFBD>?`AIclinicalresearch/backend/` <EFBFBD>桀<EFBFBD>銝见<EFBFBD>撱箸<EFBFBD>隞?`Dockerfile`嚗<EFBFBD><EFBFBD><EFBFBD>靝<EFBFBD>摮睃銁嚗㚁<EFBFBD>
|
||||
|
||||
```dockerfile
|
||||
# ==================== <20><>遣<EFBFBD>嗆挾 ====================
|
||||
@@ -93,19 +93,19 @@ WORKDIR /app
|
||||
COPY package*.json ./
|
||||
COPY prisma ./prisma/
|
||||
|
||||
# 安装依赖(npm ci 比 npm install 更稳定)
|
||||
# 摰㕑<EFBFBD>靘肽<EFBFBD>嚗ěpm ci 瘥?npm install <EFBFBD>渡迅摰𡄯<EFBFBD>
|
||||
RUN npm ci
|
||||
|
||||
# 复制源代码
|
||||
# 憭滚<EFBFBD>皞𣂷誨<EFBFBD>?
|
||||
COPY . .
|
||||
|
||||
# <20><><EFBFBD> Prisma Client
|
||||
RUN npx prisma generate
|
||||
|
||||
# 构建 TypeScript → JavaScript
|
||||
# <EFBFBD><EFBFBD>遣 TypeScript <EFBFBD>?JavaScript
|
||||
RUN npm run build
|
||||
|
||||
# ==================== 运行阶段(精简镜像)====================
|
||||
# ==================== 餈鞱<EFBFBD><EFBFBD>嗆挾嚗<EFBFBD>移蝞<EFBFBD><EFBFBD>𨅯<EFBFBD>嚗?===================
|
||||
FROM node:22-alpine
|
||||
|
||||
WORKDIR /app
|
||||
@@ -114,13 +114,13 @@ WORKDIR /app
|
||||
COPY package*.json ./
|
||||
COPY prisma ./prisma/
|
||||
|
||||
# 只安装生产依赖(体积更小)
|
||||
# <EFBFBD>芸<EFBFBD>鋆<EFBFBD><EFBFBD>鈭找<EFBFBD>韏吔<EFBFBD>雿梶妖<EFBFBD>游<EFBFBD>嚗?
|
||||
RUN npm ci --only=production
|
||||
|
||||
# <20><><EFBFBD> Prisma Client
|
||||
RUN npx prisma generate
|
||||
|
||||
# 从构建阶段复制编译后的代码
|
||||
# 隞擧<EFBFBD>撱粹𧫴畾萄<EFBFBD><EFBFBD>嗥<EFBFBD>霂穃<EFBFBD><EFBFBD><EFBFBD>誨<EFBFBD>?
|
||||
COPY --from=builder /app/dist ./dist
|
||||
|
||||
# 憭滚<E686AD><E6BB9A>滨蔭<E6BBA8><E894AD>辣
|
||||
@@ -145,7 +145,7 @@ CMD ["node", "dist/index.js"]
|
||||
|
||||
### <20>𣑐 1.2 <20>𥕦遣 .dockerignore <20><>辣
|
||||
|
||||
在 `backend/` 目录下创建 `.dockerignore`:
|
||||
<EFBFBD>?`backend/` <EFBFBD>桀<EFBFBD>銝见<EFBFBD>撱?`.dockerignore`嚗?
|
||||
|
||||
```
|
||||
node_modules
|
||||
@@ -162,142 +162,142 @@ tests
|
||||
|
||||
### <20>𣑐 1.3 <20><>遣Docker<65>𨅯<EFBFBD>
|
||||
|
||||
**打开PowerShell(管理员模式),进入backend目录:**
|
||||
**<EFBFBD>枏<EFBFBD>PowerShell嚗<EFBFBD>恣<EFBFBD><EFBFBD><EFBFBD>璅∪<EFBFBD>嚗㚁<EFBFBD>餈𥕦<EFBFBD>backend<EFBFBD>桀<EFBFBD>嚗?*
|
||||
|
||||
```powershell
|
||||
# 餈𥕦<E9A488><F0A595A6>𡒊垢<F0A1928A>桀<EFBFBD>
|
||||
cd D:\MyCursor\AIclinicalresearch\backend
|
||||
|
||||
# 构建镜像(这一步需要5-10分钟)
|
||||
# <EFBFBD><EFBFBD>遣<EFBFBD>𨅯<EFBFBD>嚗<EFBFBD><EFBFBD>銝<EFBFBD>甇仿<EFBFBD>閬?-10<31><30><EFBFBD>嚗?
|
||||
docker build -t aiclinical-backend:dev .
|
||||
|
||||
# <20>亦<EFBFBD><E4BAA6>𨅯<EFBFBD><F0A885AF>臬炏<E887AC><E7828F>遣<EFBFBD>𣂼<EFBFBD>
|
||||
docker images | Select-String "aiclinical-backend"
|
||||
```
|
||||
|
||||
**预期输出:**
|
||||
**憸<EFBFBD><EFBFBD>颲枏枂嚗?*
|
||||
```
|
||||
aiclinical-backend dev xxxx 2 minutes ago xxx MB
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 第二步:配置阿里云服务
|
||||
## 蝚砌<EFBFBD>甇伐<EFBFBD><EFBFBD>滨蔭<EFBFBD>輸<EFBFBD>鈭烐<EFBFBD><EFBFBD>?
|
||||
|
||||
### 🗄️ 2.1 配置RDS数据库
|
||||
### <EFBFBD><EFBFBD>儭?2.1 <20>滨蔭RDS<44>唳旿摨?
|
||||
|
||||
#### Step 1: <20>餃<EFBFBD><E9A483>輸<EFBFBD>鈭烐綉<E78390>嗅蝱
|
||||
1. <20>枏<EFBFBD>瘚讛<E7989A><E8AE9B>剁<EFBFBD>霈輸䔮 https://www.aliyun.com
|
||||
2. 点击右上角「登录」
|
||||
3. 选择「云数据库 RDS」
|
||||
2. <EFBFBD>孵稬<EFBFBD>喃<EFBFBD>閫鉝<EFBFBD>𣬚蒈敶𨰻<EFBFBD>?
|
||||
3. <EFBFBD>㗇𥋘<EFBFBD>䔶<EFBFBD><EFBFBD>唳旿摨?RDS<EFBFBD>?
|
||||
|
||||
#### Step 2: 配置白名单
|
||||
#### Step 2: <EFBFBD>滨蔭<EFBFBD>賢<EFBFBD><EFBFBD>?
|
||||
1. <20>孵稬<E5ADB5>函<EFBFBD>RDS摰硺<E691B0>
|
||||
2. 左侧菜单 → 「数据安全性」 → 「白名单设置」
|
||||
3. 点击「添加白名单分组」
|
||||
2. 撌虫儒<EFBFBD>𨅯<EFBFBD> <20>?<3F>峕㺭<E5B395>桀<EFBFBD><E6A180>冽<EFBFBD>扼<EFBFBD>?<3F>?<3F>𣬚蒾<F0A3AC9A>滚<EFBFBD>霈曄蔭<E69B84>?
|
||||
3. <EFBFBD>孵稬<EFBFBD>峕溶<EFBFBD>删蒾<EFBFBD>滚<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
|
||||
- <20><><EFBFBD><EFBFBD>滨妍嚗䫤SAE摨𠉛鍂`
|
||||
- 白名单IP:先填 `0.0.0.0/0`(允许所有,测试用)
|
||||
- <EFBFBD>賢<EFBFBD><EFBFBD>𣗏P嚗𡁜<EFBFBD>憛?`0.0.0.0/0`嚗<EFBFBD><EFBFBD>霈豢<EFBFBD><EFBFBD>㚁<EFBFBD>瘚贝<EFBFBD><EFBFBD>剁<EFBFBD>
|
||||
- **<2A>𩤃<EFBFBD> 甇<><E79487>銝羓瑪<E7BE93>舘<EFBFBD><E88898>嫣蛹SAE<41><45>PC蝵烐挾**
|
||||
|
||||
#### Step 3: <20>𥕦遣<F0A595A6>唳旿摨枏<E691A8><E69E8F>冽<EFBFBD>
|
||||
1. 左侧菜单 → 「数据库管理」
|
||||
2. 点击「创建数据库」
|
||||
1. 撌虫儒<EFBFBD>𨅯<EFBFBD> <20>?<3F>峕㺭<E5B395>桀<EFBFBD>蝞∠<E89D9E><E288A0>?
|
||||
2. <EFBFBD>孵稬<EFBFBD><EFBFBD><EFBFBD>撱箸㺭<EFBFBD>桀<EFBFBD><EFBFBD>?
|
||||
- <20>唳旿摨枏<E691A8>蝘堆<E89D98>`aiclinical_dev`
|
||||
- 摮㛖泵<E39B96><E6B3B5><EFBFBD>`UTF8`
|
||||
- 点击「确定」
|
||||
- <EFBFBD>孵稬<EFBFBD>𣬚&摰𠾼<EFBFBD>?
|
||||
|
||||
3. 左侧菜单 → 「账号管理」
|
||||
4. 点击「创建账号」
|
||||
3. 撌虫儒<EFBFBD>𨅯<EFBFBD> <20>?<3F>諹揭<E8ABB9>瑞恣<E7919E><E681A3><EFBFBD>?
|
||||
4. <EFBFBD>孵稬<EFBFBD><EFBFBD><EFBFBD>撱箄揭<EFBFBD>瑯<EFBFBD>?
|
||||
- 韐血噡<E8A180>滨妍嚗䫤aiclinical`
|
||||
- 账号类型:普通账号
|
||||
- 韐血噡蝐餃<EFBFBD>嚗𡁏芦<EFBFBD>朞揭<EFBFBD>?
|
||||
- 撖<><E69296>嚗朞挽蝵桐<E89DB5>銝芸撩撖<E692A9><E69296>嚗<EFBFBD>扇雿誩<E99BBF>嚗<EFBFBD><E59A97>
|
||||
- 授权数据库:选择 `aiclinical_dev`,权限「读写」
|
||||
- 点击「确定」
|
||||
- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>唳旿摨橒<EFBFBD><EFBFBD>㗇𥋘 `aiclinical_dev`嚗峕<EFBFBD><EFBFBD>僐<EFBFBD>諹粉<EFBFBD>踺<EFBFBD>?
|
||||
- <EFBFBD>孵稬<EFBFBD>𣬚&摰𠾼<EFBFBD>?
|
||||
|
||||
#### Step 4: <20>瑕<EFBFBD>餈墧𦻖<E5A2A7>啣<EFBFBD>
|
||||
1. 点击实例「基本信息」页面
|
||||
2. 找到「内网地址」(类似:`rm-xxxx.mysql.rds.aliyuncs.com`)
|
||||
3. **复制并保存这个地址**(后面会用到)
|
||||
1. <EFBFBD>孵稬摰硺<EFBFBD><EFBFBD><EFBFBD>抅<EFBFBD>砌縑<EFBFBD>胯<EFBFBD>漤△<EFBFBD>?
|
||||
2. <EFBFBD>曉<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵穃𧑐<EFBFBD><EFBFBD><EFBFBD>㵪<EFBFBD>蝐颱撮嚗䫤rm-xxxx.mysql.rds.aliyuncs.com`嚗?
|
||||
3. **憭滚<EFBFBD>撟嗡<EFBFBD>摮䁅<EFBFBD>銝芸𧑐<EFBFBD><EFBFBD>**嚗<><E59A97><EFBFBD>V<EFBFBD><EFBCB6>典<EFBFBD>嚗?
|
||||
|
||||
---
|
||||
|
||||
### <20>𣑐 2.2 <20>滨蔭OSS撖寡情摮睃<E691AE>
|
||||
|
||||
#### Step 1: <20>𥕦遣Bucket
|
||||
1. 阿里云控制台 → 「对象存储OSS」
|
||||
2. 点击「Bucket列表」 → 「创建Bucket」
|
||||
- Bucket名称:`aiclinical-dev`(小写字母+数字+横杠)
|
||||
- 区域:选择与RDS相同的区域(如:华东1)
|
||||
- 存储类型:「标准存储」
|
||||
- 读写权限:「私有」
|
||||
1. <EFBFBD>輸<EFBFBD>鈭烐綉<EFBFBD>嗅蝱 <20>?<3F><>笆鞊∪<E99E8A><E288AA>汰SS<53>?
|
||||
2. <EFBFBD>孵稬<EFBFBD>𩱳ucket<EFBFBD>𡑒”<EFBFBD>?<3F>?<3F><><EFBFBD>撱慷ucket<EFBFBD>?
|
||||
- Bucket<EFBFBD>滨妍嚗䫤aiclinical-dev`嚗<EFBFBD><EFBFBD><EFBFBD>坔<EFBFBD>瘥?<3F>啣<EFBFBD>+璅芣<E79285>嚗?
|
||||
- <EFBFBD>箏<EFBFBD>嚗𡁻<EFBFBD>㗇𥋘銝竃DS<EFBFBD>詨<EFBFBD><EFBFBD><EFBFBD>躹<EFBFBD><EFBFBD><EFBFBD>憒<EFBFBD><EFBFBD><EFBFBD>𦒘<EFBFBD>1嚗?
|
||||
- 摮睃<EFBFBD>蝐餃<EFBFBD>嚗𠾼<EFBFBD>峕<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>具<EFBFBD>?
|
||||
- 霂餃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗𠾼<EFBFBD>𣬚<EFBFBD><EFBFBD>剹<EFBFBD>?
|
||||
- <20>嗡<EFBFBD><E597A1>厰★暺䁅恕
|
||||
- 点击「确定」
|
||||
- <EFBFBD>孵稬<EFBFBD>𣬚&摰𠾼<EFBFBD>?
|
||||
|
||||
#### Step 2: 创建RAM用户(用于API访问)
|
||||
1. 阿里云控制台 → 「访问控制RAM」
|
||||
2. 左侧菜单 → 「用户」 → 「创建用户」
|
||||
#### Step 2: <EFBFBD>𥕦遣RAM<EFBFBD>冽<EFBFBD>嚗<EFBFBD>鍂鈭垾PI霈輸䔮嚗?
|
||||
1. <EFBFBD>輸<EFBFBD>鈭烐綉<EFBFBD>嗅蝱 <20>?<3F>諹挪<E8ABB9>格綉<E6A0BC>買AM<41>?
|
||||
2. 撌虫儒<EFBFBD>𨅯<EFBFBD> <20>?<3F>𣬚鍂<F0A3AC9A>瑯<EFBFBD>?<3F>?<3F><><EFBFBD>撱箇鍂<E7AE87>瑯<EFBFBD>?
|
||||
- <20>餃<EFBFBD><E9A483>滨妍嚗䫤aiclinical-oss`
|
||||
- 访问方式:勾选「编程访问」
|
||||
- 点击「确定」
|
||||
- 霈輸䔮<EFBFBD>孵<EFBFBD>嚗𡁜㗲<EFBFBD>剹<EFBFBD>𣬚<EFBFBD>蝔贝挪<EFBFBD>柴<EFBFBD>?
|
||||
- <EFBFBD>孵稬<EFBFBD>𣬚&摰𠾼<EFBFBD>?
|
||||
|
||||
3. 创建成功后,**立即保存显示的AccessKey**:
|
||||
3. <EFBFBD>𥕦遣<EFBFBD>𣂼<EFBFBD><EFBFBD>𠬍<EFBFBD>**蝡见朖靽嘥<E99DBD><E598A5>曄內<E69B84><E585A7>ccessKey**嚗?
|
||||
```
|
||||
AccessKeyId: LTAI5t...嚗<><E59A97><EFBFBD>嗡<EFBFBD>摮矋<E691AE>
|
||||
AccessKeySecret: xxxxxx(复制保存,只显示一次!)
|
||||
AccessKeySecret: xxxxxx嚗<EFBFBD><EFBFBD><EFBFBD>嗡<EFBFBD>摮矋<EFBFBD><EFBFBD>芣遬蝷箔<EFBFBD>甈∴<EFBFBD>嚗?
|
||||
```
|
||||
|
||||
4. 蝏嗵鍂<E597B5>瑟<EFBFBD><E7919F><EFBFBD><EFBFBD>
|
||||
- 点击用户名称 → 「权限管理」 → 「添加权限」
|
||||
- <EFBFBD>孵稬<EFBFBD>冽<EFBFBD><EFBFBD>滨妍 <20>?<3F>峕<EFBFBD><E5B395>鞟恣<E99E9F><E681A3><EFBFBD>?<3F>?<3F>峕溶<E5B395>䭾<EFBFBD><E4ADBE>僐<EFBFBD>?
|
||||
- <20>㗇𥋘<E39787><F0A58B98><EFBFBD>嚗䫤AliyunOSSFullAccess`
|
||||
- 点击「确定」
|
||||
- <20>孵稬<E5ADB5>𣬚&摰𠾼<E691B0>?
|
||||
|
||||
---
|
||||
|
||||
### 🐳 2.3 配置容器镜像服务(ACR)
|
||||
### <EFBFBD>閦 2.3 <EFBFBD>滨蔭摰孵膥<EFBFBD>𨅯<EFBFBD><EFBFBD>滚𦛚嚗㇁CR嚗?
|
||||
|
||||
#### Step 1: 开通服务
|
||||
1. 阿里云控制台 → 「容器镜像服务」
|
||||
2. 如果提示开通,点击「立即开通」(**免费**)
|
||||
#### Step 1: 撘<EFBFBD><EFBFBD>𡁏<EFBFBD><EFBFBD>?
|
||||
1. <20>輸<EFBFBD>鈭烐綉<E78390>嗅蝱 <20>?<3F><>捆<EFBFBD>券<EFBFBD><E588B8>𤩺<EFBFBD><F0A4A9BA>~<EFBFBD>?
|
||||
2. 憒<><E68692><EFBFBD>鞟內撘<E585A7><E69298>𡄯<EFBFBD><F0A184AF>孵稬<E5ADB5>𣬚<EFBFBD><F0A3AC9A>喳<EFBFBD><E596B3>𠾼<EFBFBD>㵪<EFBFBD>**<2A>滩晶**嚗?
|
||||
|
||||
#### Step 2: <20>𥕦遣<F0A595A6>賢<EFBFBD>蝛粹𡢿
|
||||
1. 左侧菜单 → 「默认实例」 → 「命名空间」
|
||||
2. 点击「创建命名空间」
|
||||
1. 撌虫儒<E899AB>𨅯<EFBFBD> <20>?<3F>屸<EFBFBD>霈文<E99C88>靘卝<E99D98>?<3F>?<3F><>𦶢<EFBFBD>滨征<E6BBA8>氬<EFBFBD>?
|
||||
2. <20>孵稬<E5ADB5><E7A8AC><EFBFBD>撱箏𦶢<E7AE8F>滨征<E6BBA8>氬<EFBFBD>?
|
||||
- <20>賢<EFBFBD>蝛粹𡢿嚗䫤aiclinical`
|
||||
- 点击「确定」
|
||||
- <20>孵稬<E5ADB5>𣬚&摰𠾼<E691B0>?
|
||||
|
||||
#### Step 3: <20>𥕦遣<F0A595A6>𨅯<EFBFBD>隞枏<E99A9E>
|
||||
1. 左侧菜单 → 「镜像仓库」 → 「创建镜像仓库」
|
||||
1. 撌虫儒<E899AB>𨅯<EFBFBD> <20>?<3F>屸<EFBFBD><E5B1B8>譍<EFBFBD>摨瓐<E691A8>?<3F>?<3F><><EFBFBD>撱粹<E692B1><E7B2B9>譍<EFBFBD>摨瓐<E691A8>?
|
||||
- 隞枏<E99A9E><E69E8F>滨妍嚗䫤backend-dev`
|
||||
- <20>賢<EFBFBD>蝛粹𡢿嚗𡁻<E59A97>㗇𥋘 `aiclinical`
|
||||
- <20>䁅<EFBFBD>嚗䫤AI銝游<E98A9D><E6B8B8>𠉛弦撟喳蝱<E596B3>𡒊垢-撘<><E69298>𤑳㴓憓<E3B493>
|
||||
- 仓库类型:「私有」
|
||||
- 代码源:「本地仓库」
|
||||
- 点击「下一步」→「创建」
|
||||
- 隞枏<E99A9E>蝐餃<E89D90>嚗𠾼<E59A97>𣬚<EFBFBD><F0A3AC9A>剹<EFBFBD>?
|
||||
- 隞<><E99A9E>皞琜<E79A9E><E7909C>峕𧋦<E5B395>唬<EFBFBD>摨瓐<E691A8>?
|
||||
- <20>孵稬<E5ADB5>䔶<EFBFBD>銝<EFBFBD>甇乓<E79487>𨧀<EFBFBD><F0A8A780><EFBFBD><EFBFBD>撱箝<E692B1>?
|
||||
|
||||
#### Step 4: <20>瑕<EFBFBD><E79195>餃<EFBFBD>撖<EFBFBD><E69296>
|
||||
1. 右上角点击用户头像 → 「AccessKey管理」
|
||||
2. 或者:容器镜像服务 → 右上角「设置访问凭证」
|
||||
1. <20>喃<EFBFBD>閫垍<E996AB><E59E8D>餌鍂<E9A48C>瑕仍<E79195>?<3F>?<3F>淾ccessKey蝞∠<EFBFBD><EFBFBD>?
|
||||
2. <20>𤥁<EFBFBD><F0A4A581><EFBFBD>摰孵膥<E5ADB5>𨅯<EFBFBD><F0A885AF>滚𦛚 <20>?<3F>喃<EFBFBD>閫鉝<E996AB>諹挽蝵株挪<E6A0AA>桀鐯霂<E990AF><E99C82>?
|
||||
3. 霈曄蔭<E69B84>𨅯<EFBFBD>隞枏<E99A9E><E69E8F>餃<EFBFBD>撖<EFBFBD><E69296>嚗<EFBFBD>扇雿誩<E99BBF>嚗<EFBFBD><E59A97>
|
||||
|
||||
---
|
||||
|
||||
### 📤 2.4 推送镜像到阿里云
|
||||
### <EFBFBD>㨩 2.4 <EFBFBD>券<EFBFBD><EFBFBD><EFBFBD><EFBFBD>誩<EFBFBD><EFBFBD>輸<EFBFBD>鈭?
|
||||
|
||||
**<EFBFBD>枏<EFBFBD>PowerShell嚗峕<EFBFBD>銵䔶誑銝见𦶢隞歹<EFBFBD>**
|
||||
|
||||
```powershell
|
||||
# 1. 登录阿里云容器镜像服务
|
||||
# 替换<你的阿里云账号>为你的阿里云登录邮箱或用户名
|
||||
docker login --username=<你的阿里云账号> registry.cn-hangzhou.aliyuncs.com
|
||||
# 1. <EFBFBD>餃<EFBFBD><EFBFBD>輸<EFBFBD>鈭穃捆<EFBFBD>券<EFBFBD><EFBFBD>𤩺<EFBFBD><EFBFBD>?
|
||||
# <EFBFBD>踵揢<雿删<E99BBF><E588A0>輸<EFBFBD>鈭𤏸揭<F0A48FB8>?銝箔<E98A9D><E7AE94><EFBFBD>燵<EFBFBD>䔶<EFBFBD><E494B6>餃<EFBFBD><E9A483>桃拳<E6A183>𣇉鍂<F0A38789>瑕<EFBFBD>
|
||||
docker login --username=<雿删<EFBFBD><EFBFBD>輸<EFBFBD>鈭𤏸揭<EFBFBD>? registry.cn-hangzhou.aliyuncs.com
|
||||
|
||||
# 输入密码(就是刚才设置的镜像仓库登录密码)
|
||||
# 颲枏<EFBFBD>撖<EFBFBD><EFBFBD>嚗<EFBFBD>停<EFBFBD>臬<EFBFBD><EFBFBD>滩挽蝵桃<EFBFBD><EFBFBD>𨅯<EFBFBD>隞枏<EFBFBD><EFBFBD>餃<EFBFBD>撖<EFBFBD><EFBFBD>嚗?
|
||||
|
||||
# 2. 蝏䠷<E89D8F><E4A0B7>𤩺<EFBFBD><F0A4A9BA><EFBFBD>倌
|
||||
# 替换 <你的命名空间> 为 aiclinical
|
||||
# <EFBFBD>踵揢 <雿删<E99BBF><E588A0>賢<EFBFBD>蝛粹𡢿> 銝?aiclinical
|
||||
docker tag aiclinical-backend:dev `
|
||||
registry.cn-hangzhou.aliyuncs.com/aiclinical/backend-dev:v1.0.0
|
||||
|
||||
# 3. 推送到阿里云(需要3-5分钟)
|
||||
# 3. <EFBFBD>券<EFBFBD><EFBFBD><EFBFBD><EFBFBD>輸<EFBFBD>鈭𡢅<EFBFBD><EFBFBD><EFBFBD>閬?-5<><35><EFBFBD>嚗?
|
||||
docker push registry.cn-hangzhou.aliyuncs.com/aiclinical/backend-dev:v1.0.0
|
||||
```
|
||||
|
||||
@@ -312,33 +312,33 @@ v1.0.0: digest: sha256:xxxx size: xxxx
|
||||
|
||||
### <20><> 3.1 <20>𥕦遣SAE摨𠉛鍂
|
||||
|
||||
#### Step 1: 进入SAE控制台
|
||||
1. 阿里云控制台 → 「Serverless应用引擎SAE」
|
||||
2. 选择区域(与RDS、OSS相同)
|
||||
#### Step 1: 餈𥕦<EFBFBD>SAE<EFBFBD>批<EFBFBD><EFBFBD>?
|
||||
1. <20>輸<EFBFBD>鈭烐綉<E78390>嗅蝱 <20>?<3F>玺erverless摨𠉛鍂撘閙<EFBFBD>SAE<EFBFBD>?
|
||||
2. <20>㗇𥋘<E39787>箏<EFBFBD>嚗<EFBFBD><E59A97>RDS<44><53>SS<53>詨<EFBFBD>嚗?
|
||||
|
||||
#### Step 2: <20>𥕦遣摨𠉛鍂
|
||||
1. 点击「创建应用」
|
||||
2. **基本信息**:
|
||||
1. <20>孵稬<E5ADB5><E7A8AC><EFBFBD>撱箏<E692B1><E7AE8F>具<EFBFBD>?
|
||||
2. **<EFBFBD>箸𧋦靽⊥<EFBFBD>**嚗?
|
||||
- 摨𠉛鍂<F0A0899B>滨妍嚗䫤aiclinical-backend-dev`
|
||||
- 命名空间:默认
|
||||
- <20>賢<EFBFBD>蝛粹𡢿嚗𡁻<E59A97>霈?
|
||||
- VPC嚗𡁻<E59A97>㗇𥋘銝竃DS<44>詨<EFBFBD><E8A9A8><EFBFBD>PC
|
||||
- vSwitch:任意选择一个
|
||||
- vSwitch嚗帋遙<EFBFBD>誯<EFBFBD>㗇𥋘銝<EFBFBD>銝?
|
||||
|
||||
3. **应用部署配置**:
|
||||
- 应用部署方式:「镜像」
|
||||
- 镜像来源:「容器镜像服务企业版实例」
|
||||
3. **摨𠉛鍂<EFBFBD>函蔡<EFBFBD>滨蔭**嚗?
|
||||
- 摨𠉛鍂<F0A0899B>函蔡<E587BD>孵<EFBFBD>嚗𠾼<E59A97>屸<EFBFBD><E5B1B8>譌<EFBFBD>?
|
||||
- <20>𨅯<EFBFBD><F0A885AF>交<EFBFBD>嚗𠾼<E59A97><F0A0BEBC>捆<EFBFBD>券<EFBFBD><E588B8>𤩺<EFBFBD><F0A4A9BA>∩<EFBFBD>銝𡁶<E98A9D>摰硺<E691B0><E7A1BA>?
|
||||
- <20>𨅯<EFBFBD>嚗𡁻<E59A97>㗇𥋘<E39787>𡁏<EFBFBD><F0A1818F>券<EFBFBD><E588B8><EFBFBD> `registry.cn-hangzhou.aliyuncs.com/aiclinical/backend-dev:v1.0.0`
|
||||
- <20>𨅯<EFBFBD><F0A885AF><EFBFBD>𧋦嚗䫤v1.0.0`
|
||||
|
||||
4. **实例规格**:
|
||||
- 实例规格:`1核2GB`
|
||||
- 实例数:1个(固定)
|
||||
4. **摰硺<EFBFBD>閫<EFBFBD>聢**嚗?
|
||||
- 摰硺<E691B0>閫<EFBFBD>聢嚗䫤1<E4ABA4>?GB`
|
||||
- 摰硺<E691B0><E7A1BA>堆<EFBFBD>1銝迎<E98A9D><E8BF8E>箏<EFBFBD>嚗?
|
||||
|
||||
5. **网络配置**:
|
||||
- 勾选「公网访问」
|
||||
5. **蝵𤑳<EFBFBD><EFBFBD>滨蔭**嚗?
|
||||
- <20>暸<EFBFBD>剹<EFBFBD><E589B9><EFBFBD>蝵𤏸挪<F0A48FB8>柴<EFBFBD>?
|
||||
- 蝡臬藁嚗䫤3001`
|
||||
|
||||
6. 点击「下一步」
|
||||
6. <20>孵稬<E5ADB5>䔶<EFBFBD>銝<EFBFBD>甇乓<E79487>?
|
||||
|
||||
---
|
||||
|
||||
@@ -353,7 +353,7 @@ PORT=3001
|
||||
SERVICE_NAME=aiclinical-backend-dev
|
||||
LOG_LEVEL=debug
|
||||
|
||||
# ========== 数据库配置 ==========
|
||||
# ========== <EFBFBD>唳旿摨㯄<EFBFBD>蝵?==========
|
||||
# <20>踵揢銝箸<E98A9D><E7AEB8><EFBFBD>DS<44>啣<EFBFBD>
|
||||
DATABASE_URL=postgresql://aiclinical:雿删<E99BBF>撖<EFBFBD><E69296>@rm-xxxx.mysql.rds.aliyuncs.com:5432/aiclinical_dev
|
||||
|
||||
@@ -364,7 +364,7 @@ OSS_BUCKET=aiclinical-dev
|
||||
OSS_ACCESS_KEY_ID=雿删<EFBFBD>AccessKeyId
|
||||
OSS_ACCESS_KEY_SECRET=雿删<EFBFBD>AccessKeySecret
|
||||
|
||||
# ========== 缓存配置(不使用Redis)==========
|
||||
# ========== 蝻枏<EFBFBD><EFBFBD>滨蔭嚗<EFBFBD><EFBFBD>雿輻鍂Redis嚗?=========
|
||||
CACHE_TYPE=memory
|
||||
QUEUE_TYPE=memory
|
||||
|
||||
@@ -383,61 +383,61 @@ DIFY_API_KEY=你的Dify API Key
|
||||
DIFY_API_URL=https://api.dify.ai/v1
|
||||
|
||||
# ========== 摰匧<E691B0><E58CA7>滨蔭 ==========
|
||||
JWT_SECRET=请生成一个随机字符串(至少32位)
|
||||
JWT_SECRET=霂瑞<EFBFBD><EFBFBD>𣂷<EFBFBD>銝芷<EFBFBD><EFBFBD>箏<EFBFBD>蝚虫葡嚗<EFBFBD>秐撠?2雿㵪<E99BBF>
|
||||
CORS_ORIGIN=*
|
||||
|
||||
# ========== Python微服务配置 ==========
|
||||
# ========== Python敺格<EFBFBD><EFBFBD>⊿<EFBFBD>蝵?==========
|
||||
# <20><>𧒄<EFBFBD><F0A79284>鍂<EFBFBD>祉<EFBFBD><E7A589>啣<EFBFBD>嚗<EFBFBD><E59A97>蝏剜㺿銝搴AE<41><45><EFBFBD>
|
||||
EXTRACTION_SERVICE_URL=http://雿删<E99BBF>Python<6F>滚𦛚<E6BB9A>啣<EFBFBD>:8000
|
||||
```
|
||||
|
||||
**⚠️ 重要提示:**
|
||||
- 替换所有 `你的XXX` 为真实的值
|
||||
**<EFBFBD>𩤃<EFBFBD> <20>滩<EFBFBD><E6BBA9>鞟內嚗?*
|
||||
- <EFBFBD>踵揢<EFBFBD><EFBFBD><EFBFBD>?`雿删<E99BBF>XXX` 銝箇<E98A9D>摰䂿<E691B0><E482BF>?
|
||||
- JWT_SECRET <20>臭誑<E887AD>典銁蝥踹極<E8B8B9>瑞<EFBFBD><E7919E>琜<EFBFBD>https://www.random.org/strings/
|
||||
- 环境变量设置错误是部署失败的主要原因!
|
||||
- <EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>霈曄蔭<EFBFBD>躰秤<EFBFBD>舫<EFBFBD>蝵脣仃韐亦<EFBFBD>銝餉<EFBFBD><EFBFBD>笔<EFBFBD>嚗?
|
||||
|
||||
---
|
||||
|
||||
### ✅ 3.3 配置健康检查
|
||||
### <EFBFBD>?3.3 <EFBFBD>滨蔭<EFBFBD>亙熒璉<EFBFBD><EFBFBD>?
|
||||
|
||||
<EFBFBD>具<EFBFBD><EFBFBD><EFBFBD>摨瑟<EFBFBD><EFBFBD>乓<EFBFBD>漤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
```yaml
|
||||
检查方式: HTTP
|
||||
检查路径: /health
|
||||
璉<EFBFBD><EFBFBD>交䲮撘? HTTP
|
||||
璉<EFBFBD><EFBFBD>亥楝敺? /health
|
||||
蝡臬藁: 3001
|
||||
初始延迟: 30秒
|
||||
检查间隔: 10秒
|
||||
超时时间: 3秒
|
||||
不健康阈值: 3次
|
||||
健康阈值: 2次
|
||||
<EFBFBD>嘥<EFBFBD>撱嗉<EFBFBD>: 30蝘?
|
||||
璉<EFBFBD><EFBFBD>仿𡢿<EFBFBD>? 10蝘?
|
||||
頞<EFBFBD>𧒄<EFBFBD>園𡢿: 3蝘?
|
||||
銝滚<EFBFBD>摨琿<EFBFBD><EFBFBD>? 3甈?
|
||||
<EFBFBD>亙熒<EFBFBD><EFBFBD><EFBFBD>? 2甈?
|
||||
```
|
||||
|
||||
点击「创建应用」,等待3-5分钟。
|
||||
<EFBFBD>孵稬<EFBFBD><EFBFBD><EFBFBD>撱箏<EFBFBD><EFBFBD>具<EFBFBD>㵪<EFBFBD>蝑匧<EFBFBD>3-5<><35><EFBFBD><EFBFBD>?
|
||||
|
||||
---
|
||||
|
||||
### <20><> 3.4 撉諹<E69289><E8ABB9>函蔡
|
||||
|
||||
#### Step 1: 查看部署状态
|
||||
1. 应用列表中找到 `aiclinical-backend-dev`
|
||||
#### Step 1: <EFBFBD>亦<EFBFBD><EFBFBD>函蔡<EFBFBD>嗆<EFBFBD>?
|
||||
1. 摨𠉛鍂<EFBFBD>𡑒”銝剜𪄳<EFBFBD>?`aiclinical-backend-dev`
|
||||
2. <20>亦<EFBFBD><E4BAA6>嗆<EFBFBD><E59786><EFBFBD>
|
||||
- ❌ 启动中 → 等待
|
||||
- ❌ 异常 → 查看日志排查问题
|
||||
- ✅ 运行中 → 成功!
|
||||
- <EFBFBD>?<3F>臬𢆡銝?<3F>?蝑匧<E89D91>
|
||||
- <EFBFBD>?撘<>虜 <20>?<3F>亦<EFBFBD><E4BAA6>亙<EFBFBD><E4BA99>埝䰻<E59F9D>桅<EFBFBD>
|
||||
- <EFBFBD>?餈鞱<E9A488>銝?<3F>?<3F>𣂼<EFBFBD>嚗?
|
||||
|
||||
#### Step 2: <20>瑕<EFBFBD><E79195>祉<EFBFBD><E7A589>啣<EFBFBD>
|
||||
1. <20>孵稬摨𠉛鍂<F0A0899B>滨妍餈𥕦<E9A488>霂行<E99C82>
|
||||
2. 「基本信息」页面,找到「公网SLB地址」
|
||||
3. 复制地址(类似:`http://123.456.789.0:3001`)
|
||||
2. <EFBFBD><EFBFBD>抅<EFBFBD>砌縑<EFBFBD>胯<EFBFBD>漤△<EFBFBD>g<EFBFBD><EFBFBD>曉<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝵騌LB<EFBFBD>啣<EFBFBD><EFBFBD>?
|
||||
3. 憭滚<EFBFBD><EFBFBD>啣<EFBFBD>嚗<EFBFBD>掩隡潘<EFBFBD>`http://123.456.789.0:3001`嚗?
|
||||
|
||||
#### Step 3: 瘚贝<E7989A><E8B49D>亙藁
|
||||
打开浏览器,访问:
|
||||
<EFBFBD>枏<EFBFBD>瘚讛<EFBFBD><EFBFBD>剁<EFBFBD>霈輸䔮嚗?
|
||||
```
|
||||
http://<雿删<E99BBF>SAE<41>祉<EFBFBD><E7A589>啣<EFBFBD>>/health
|
||||
```
|
||||
|
||||
**预期返回:**
|
||||
**憸<EFBFBD><EFBFBD>餈𥪜<EFBFBD>嚗?*
|
||||
```json
|
||||
{
|
||||
"status": "ok",
|
||||
@@ -450,9 +450,9 @@ http://<你的SAE公网地址>/health
|
||||
|
||||
## 蝚砍<E89D9A>甇伐<E79487><E4BC90>函蔡<E587BD>滨垢
|
||||
|
||||
### 🌐 4.1 构建前端静态文件
|
||||
### <EFBFBD><EFBFBD> 4.1 <EFBFBD><EFBFBD>遣<EFBFBD>滨垢<EFBFBD>蹱<EFBFBD><EFBFBD><EFBFBD>隞?
|
||||
|
||||
**打开PowerShell,进入frontend-v2目录:**
|
||||
**<EFBFBD>枏<EFBFBD>PowerShell嚗諹<EFBFBD><EFBFBD>卯rontend-v2<EFBFBD>桀<EFBFBD>嚗?*
|
||||
|
||||
```powershell
|
||||
# 餈𥕦<E9A488><F0A595A6>滨垢<E6BBA8>桀<EFBFBD>
|
||||
@@ -465,14 +465,14 @@ npm install
|
||||
# <20>枏<EFBFBD> vite.config.ts嚗屸<E59A97>蝵桐誨<E6A190><E8AAA8><EFBFBD><EFBFBD>湔𦻖靽格㺿 API_BASE_URL
|
||||
```
|
||||
|
||||
**修改 `vite.config.ts`:**
|
||||
**靽格㺿 `vite.config.ts`嚗?*
|
||||
|
||||
```typescript
|
||||
export default defineConfig({
|
||||
server: {
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://你的SAE后端地址:3001', // ← 改成你的SAE地址
|
||||
target: 'http://雿删<EFBFBD>SAE<EFBFBD>𡒊垢<EFBFBD>啣<EFBFBD>:3001', // <EFBFBD>?<3F>寞<EFBFBD>雿删<E99BBF>SAE<41>啣<EFBFBD>
|
||||
changeOrigin: true,
|
||||
},
|
||||
},
|
||||
@@ -484,36 +484,36 @@ export default defineConfig({
|
||||
})
|
||||
```
|
||||
|
||||
**构建生产版本:**
|
||||
**<EFBFBD><EFBFBD>遣<EFBFBD>煺漣<EFBFBD><EFBFBD>𧋦嚗?*
|
||||
|
||||
```powershell
|
||||
npm run build
|
||||
```
|
||||
|
||||
构建完成后,在 `dist/` 目录生成静态文件。
|
||||
<EFBFBD><EFBFBD>遣摰峕<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD>?`dist/` <20>桀<EFBFBD><E6A180><EFBFBD><EFBFBD><EFBFBD>蹱<EFBFBD><E8B9B1><EFBFBD>隞嗚<E99A9E>?
|
||||
|
||||
---
|
||||
|
||||
### <20><> 4.2 <20>函蔡<E587BD>滨垢<E6BBA8>記SS
|
||||
|
||||
#### 方案A:使用阿里云控制台(推荐新手)
|
||||
#### <EFBFBD>寞<EFBFBD>A嚗帋蝙<EFBFBD>券燵<EFBFBD>䔶<EFBFBD><EFBFBD>批<EFBFBD><EFBFBD>堆<EFBFBD><EFBFBD>刻<EFBFBD><EFBFBD>唳<EFBFBD>嚗?
|
||||
|
||||
1. 打开OSS控制台
|
||||
1. <EFBFBD>枏<EFBFBD>OSS<EFBFBD>批<EFBFBD><EFBFBD>?
|
||||
2. 餈𥕦<E9A488> `aiclinical-dev` Bucket
|
||||
3. 点击「文件管理」 → 「上传文件」
|
||||
4. 选择 `frontend-v2/dist/` 目录下的**所有文件**
|
||||
5. 上传完成后,设置 `index.html` 为默认首页
|
||||
3. <EFBFBD>孵稬<EFBFBD>峕<EFBFBD>隞嗥恣<EFBFBD><EFBFBD><EFBFBD>?<3F>?<3F>䔶<EFBFBD>隡䭾<E99AA1>隞嗚<E99A9E>?
|
||||
4. <EFBFBD>㗇𥋘 `frontend-v2/dist/` <EFBFBD>桀<EFBFBD>銝讠<EFBFBD>**<2A><><EFBFBD>㗇<EFBFBD>隞?*
|
||||
5. 銝𠹺<EFBFBD>摰峕<EFBFBD><EFBFBD>𠬍<EFBFBD>霈曄蔭 `index.html` 銝粹<EFBFBD>霈日<EFBFBD>憿?
|
||||
|
||||
#### 方案B:使用OSS命令行工具
|
||||
#### <EFBFBD>寞<EFBFBD>B嚗帋蝙<EFBFBD>汰SS<EFBFBD>賭誘銵<EFBFBD>極<EFBFBD>?
|
||||
|
||||
**安装ossutil(可选):**
|
||||
**摰㕑<EFBFBD>ossutil嚗<EFBFBD>虾<EFBFBD>㚁<EFBFBD>嚗?*
|
||||
```powershell
|
||||
# 銝贝蝸 ossutil
|
||||
# Windows: https://gosspublic.alicdn.com/ossutil/ossutil64.exe
|
||||
|
||||
# <20>滨蔭
|
||||
.\ossutil64.exe config
|
||||
# 输入 AccessKeyId、AccessKeySecret、Endpoint(如 oss-cn-hangzhou.aliyuncs.com)
|
||||
# 颲枏<EFBFBD> AccessKeyId<EFBFBD><EFBFBD>ccessKeySecret<EFBFBD><EFBFBD>ndpoint嚗<EFBFBD><EFBFBD> oss-cn-hangzhou.aliyuncs.com嚗?
|
||||
|
||||
# 銝𠹺<E98A9D><F0A0B9BA>滨垢<E6BBA8><E59EA2>辣
|
||||
.\ossutil64.exe cp -r .\dist\ oss://aiclinical-dev/frontend/ --update
|
||||
@@ -521,35 +521,35 @@ npm run build
|
||||
|
||||
---
|
||||
|
||||
### 🌐 4.3 配置OSS静态网站托管
|
||||
### <EFBFBD><EFBFBD> 4.3 <EFBFBD>滨蔭OSS<EFBFBD>蹱<EFBFBD><EFBFBD><EFBFBD>蝡蹱<EFBFBD>蝞?
|
||||
|
||||
1. OSS控制台 → `aiclinical-dev` Bucket
|
||||
2. 左侧菜单 → 「基础设置」 → 「静态页面」
|
||||
1. OSS<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?`aiclinical-dev` Bucket
|
||||
2. 撌虫儒<EFBFBD>𨅯<EFBFBD> <20>?<3F><>抅蝖<E68A85>霈曄蔭<E69B84>?<3F>?<3F>屸<EFBFBD><E5B1B8><EFBFBD>△<EFBFBD>U<EFBFBD>?
|
||||
3. <20>孵稬<E5ADB5>諹挽蝵柴<E89DB5>㵪<EFBFBD>
|
||||
- 暺䁅恕擐㚚△嚗䫤index.html`
|
||||
- 暺䁅恕404憿蛛<E686BF>`index.html`
|
||||
- 点击「保存」
|
||||
- <EFBFBD>孵稬<EFBFBD>䔶<EFBFBD>摮塩<EFBFBD>?
|
||||
|
||||
4. 获取访问地址:
|
||||
- Bucket概览页面,找到「Bucket域名」
|
||||
4. <EFBFBD>瑕<EFBFBD>霈輸䔮<EFBFBD>啣<EFBFBD>嚗?
|
||||
- Bucket璁<EFBFBD><EFBFBD>憿菟𢒰嚗峕𪄳<EFBFBD>啜<EFBFBD>𩱳ucket<EFBFBD>笔<EFBFBD><EFBFBD>?
|
||||
- 憭𣇉<E686AD>霈輸䔮<E8BCB8>啣<EFBFBD>嚗䫤http://aiclinical-dev.oss-cn-hangzhou.aliyuncs.com/`
|
||||
|
||||
---
|
||||
|
||||
## 蝚砌<E89D9A>甇伐<E79487>撉諹<E69289><E8ABB9>函蔡
|
||||
|
||||
### ✅ 5.1 全链路测试
|
||||
### <EFBFBD>?5.1 <EFBFBD>券曎頝舀<EFBFBD>霂?
|
||||
|
||||
#### 测试1:健康检查
|
||||
#### 瘚贝<EFBFBD>1嚗𡁜<EFBFBD>摨瑟<EFBFBD><EFBFBD>?
|
||||
```
|
||||
霈輸䔮嚗冴ttp://雿删<E99BBF>SAE<41>啣<EFBFBD>:3001/health
|
||||
预期:返回 {"status":"ok"}
|
||||
憸<EFBFBD><EFBFBD>嚗朞<EFBFBD><EFBFBD>?{"status":"ok"}
|
||||
```
|
||||
|
||||
#### 瘚贝<E7989A>2嚗𡁏㺭<F0A1818F>桀<EFBFBD>餈墧𦻖
|
||||
```powershell
|
||||
# 在SAE控制台 → 应用详情 → 实时日志
|
||||
# 查看是否有 "✅ 数据库连接成功" 日志
|
||||
# <EFBFBD>沒AE<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?摨𠉛鍂霂行<E99C82> <20>?摰墧𧒄<E5A2A7>亙<EFBFBD>
|
||||
# <EFBFBD>亦<EFBFBD><EFBFBD>臬炏<EFBFBD>?"<22>?<3F>唳旿摨栞<E691A8><E6A09E>交<EFBFBD><E4BAA4>? <20>亙<EFBFBD>
|
||||
```
|
||||
|
||||
#### 瘚贝<E7989A>3嚗鐾SS摮睃<E691AE>
|
||||
@@ -558,7 +558,7 @@ npm run build
|
||||
銝𠹺<EFBFBD>銝<EFBFBD>銝芣<EFBFBD>霂閙<EFBFBD>隞塚<EFBFBD><EFBFBD>亦<EFBFBD><EFBFBD>臬炏<EFBFBD>𣂼<EFBFBD>
|
||||
```
|
||||
|
||||
#### 测试4:前端访问
|
||||
#### 瘚贝<EFBFBD>4嚗𡁜<EFBFBD>蝡航挪<EFBFBD>?
|
||||
```
|
||||
霈輸䔮嚗冴ttp://aiclinical-dev.oss-cn-hangzhou.aliyuncs.com/
|
||||
<EFBFBD>亦<EFBFBD>憿菟𢒰<EFBFBD>臬炏甇<EFBFBD>虜<EFBFBD>曄內
|
||||
@@ -568,53 +568,53 @@ npm run build
|
||||
|
||||
### <20><> 5.2 <20>亦<EFBFBD><E4BAA6>烐綉<E78390>唳旿
|
||||
|
||||
1. SAE控制台 → 应用详情 → 「监控大盘」
|
||||
2. 查看:
|
||||
- CPU使用率
|
||||
- 内存使用率
|
||||
- QPS(每秒请求数)
|
||||
1. SAE<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?摨𠉛鍂霂行<E99C82> <20>?<3F>𣬚<EFBFBD><F0A3AC9A>批之<E689B9>塩<EFBFBD>?
|
||||
2. <EFBFBD>亦<EFBFBD>嚗?
|
||||
- CPU雿輻鍂<EFBFBD>?
|
||||
- <EFBFBD><EFBFBD><EFBFBD>雿輻鍂<EFBFBD>?
|
||||
- QPS嚗<EFBFBD><EFBFBD>蝘坿窈瘙<EFBFBD>㺭嚗?
|
||||
- <20>滚<EFBFBD><E6BB9A>園𡢿
|
||||
|
||||
---
|
||||
|
||||
## 撣貉<E692A3><E8B289>桅<EFBFBD>閫<EFBFBD><E996AB>
|
||||
|
||||
### ❌ 问题1:应用启动失败
|
||||
### <EFBFBD>?<3F>桅<EFBFBD>1嚗𡁜<E59A97><F0A1819C>典鍳<E585B8>典仃韐?
|
||||
|
||||
**症状:**
|
||||
- 应用状态显示「异常」
|
||||
- 健康检查失败
|
||||
**<EFBFBD><EFBFBD>𠶖嚗?*
|
||||
- 摨𠉛鍂<EFBFBD>嗆<EFBFBD><EFBFBD>遬蝷箝<EFBFBD><EFBFBD><EFBFBD>撣詻<EFBFBD>?
|
||||
- <EFBFBD>亙熒璉<EFBFBD><EFBFBD>亙仃韐?
|
||||
|
||||
**解决步骤:**
|
||||
**閫<EFBFBD><EFBFBD>甇仿炊嚗?*
|
||||
|
||||
1. **查看日志:**
|
||||
1. **<EFBFBD>亦<EFBFBD><EFBFBD>亙<EFBFBD>嚗?*
|
||||
```
|
||||
SAE控制台 → 应用详情 → 实时日志
|
||||
找到红色的 ERROR 日志
|
||||
SAE<EFBFBD>批<EFBFBD><EFBFBD>?<3F>?摨𠉛鍂霂行<E99C82> <20>?摰墧𧒄<E5A2A7>亙<EFBFBD>
|
||||
<EFBFBD>曉<EFBFBD>蝥Z𠧧<EFBFBD>?ERROR <EFBFBD>亙<EFBFBD>
|
||||
```
|
||||
|
||||
2. **常见错误:**
|
||||
2. **撣貉<EFBFBD><EFBFBD>躰秤嚗?*
|
||||
|
||||
**<2A>躰秤A嚗𡁏㺭<F0A1818F>桀<EFBFBD>餈墧𦻖憭梯揖**
|
||||
```
|
||||
Error: Connection refused
|
||||
```
|
||||
- 检查 `DATABASE_URL` 格式是否正确
|
||||
- 检查 RDS 白名单是否包含 SAE 的 IP
|
||||
- 检查 RDS 用户名密码是否正确
|
||||
- 璉<EFBFBD><EFBFBD>?`DATABASE_URL` <EFBFBD>澆<EFBFBD><EFBFBD>臬炏甇<EFBFBD>&
|
||||
- 璉<EFBFBD><EFBFBD>?RDS <20>賢<EFBFBD><E8B3A2>閙糓<E99699>血<EFBFBD><E8A180>?SAE <EFBFBD>?IP
|
||||
- 璉<EFBFBD><EFBFBD>?RDS <20>冽<EFBFBD><E586BD>滚<EFBFBD><E6BB9A><EFBFBD>糓<EFBFBD>行迤蝖?
|
||||
|
||||
**错误B:环境变量缺失**
|
||||
**<EFBFBD>躰秤B嚗𡁶㴓憓<EFBFBD><EFBFBD><EFBFBD>讐撩憭?*
|
||||
```
|
||||
DATABASE_URL is required
|
||||
```
|
||||
- 检查环境变量是否配置完整
|
||||
- 璉<EFBFBD><EFBFBD>亦㴓憓<EFBFBD><EFBFBD><EFBFBD>𤩺糓<EFBFBD>阡<EFBFBD>蝵桀<EFBFBD><EFBFBD>?
|
||||
- <20>齿鰵<E9BDBF>函蔡摨𠉛鍂
|
||||
|
||||
**<2A>躰秤C嚗䥪risma 餈墧𦻖憭梯揖**
|
||||
```
|
||||
Prisma Client initialization failed
|
||||
```
|
||||
- 需要运行数据库迁移:
|
||||
- <EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>銵峕㺭<EFBFBD>桀<EFBFBD>餈<EFBFBD>宏嚗?
|
||||
```bash
|
||||
# <20>砍𧑐<E7A08D>扯<EFBFBD>餈<EFBFBD>宏嚗𣬚<E59A97><F0A3AC9A>擧綫<E693A7><E7B6AB><EFBFBD>RDS
|
||||
npx prisma migrate deploy
|
||||
@@ -622,16 +622,16 @@ npm run build
|
||||
|
||||
---
|
||||
|
||||
### ❌ 问题2:OSS上传失败
|
||||
### <EFBFBD>?<3F>桅<EFBFBD>2嚗鐾SS銝𠹺<E98A9D>憭梯揖
|
||||
|
||||
**症状:**
|
||||
**<EFBFBD><EFBFBD>𠶖嚗?*
|
||||
- <20><>辣銝𠹺<E98A9D>餈𥪜<E9A488> 403 Forbidden
|
||||
|
||||
**解决步骤:**
|
||||
**閫<EFBFBD><EFBFBD>甇仿炊嚗?*
|
||||
|
||||
1. 检查 RAM 用户权限:
|
||||
- 控制台 → RAM → 用户 → 权限
|
||||
- 确保有 `AliyunOSSFullAccess`
|
||||
1. 璉<EFBFBD><EFBFBD>?RAM <20>冽<EFBFBD><E586BD><EFBFBD><EFBFBD>嚗?
|
||||
- <EFBFBD>批<EFBFBD><EFBFBD>?<3F>?RAM <20>?<3F>冽<EFBFBD> <20>?<3F><><EFBFBD>
|
||||
- 蝖桐<EFBFBD><EFBFBD>?`AliyunOSSFullAccess`
|
||||
|
||||
2. 璉<><E79289>亦㴓憓<E3B493><E68693><EFBFBD>𧶏<EFBFBD>
|
||||
```bash
|
||||
@@ -640,7 +640,7 @@ npm run build
|
||||
OSS_BUCKET=甇<>&<EFBFBD><EFBC86>ucket<65>滨妍
|
||||
```
|
||||
|
||||
3. 测试 OSS 连接:
|
||||
3. 瘚贝<EFBFBD> OSS 餈墧𦻖嚗?
|
||||
```javascript
|
||||
// <20>典<EFBFBD><E585B8>冽𠯫敹𦯀葉<F0A6AF80>亦<EFBFBD>
|
||||
console.log('OSS<53>滨蔭:', {
|
||||
@@ -651,21 +651,21 @@ npm run build
|
||||
|
||||
---
|
||||
|
||||
### ❌ 问题3:前端无法访问后端
|
||||
### <EFBFBD>?<3F>桅<EFBFBD>3嚗𡁜<E59A97>蝡舀<E89DA1>瘜閗挪<E99697>桀<EFBFBD>蝡?
|
||||
|
||||
**症状:**
|
||||
- 前端显示「网络错误」
|
||||
**<EFBFBD><EFBFBD>𠶖嚗?*
|
||||
- <EFBFBD>滨垢<EFBFBD>曄內<EFBFBD>𣬚<EFBFBD>蝏𣈯<EFBFBD>霂胯<EFBFBD>?
|
||||
- API 霂瑟<E99C82>憭梯揖
|
||||
|
||||
**解决步骤:**
|
||||
**閫<EFBFBD><EFBFBD>甇仿炊嚗?*
|
||||
|
||||
1. 检查CORS配置:
|
||||
1. 璉<EFBFBD><EFBFBD>丘ORS<EFBFBD>滨蔭嚗?
|
||||
```bash
|
||||
# 在SAE环境变量中确认
|
||||
# <EFBFBD>沒AE<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>銝剔&霈?
|
||||
CORS_ORIGIN=* # <20><>捂<EFBFBD><E68D82><EFBFBD>㗇䔉皞琜<E79A9E>撘<EFBFBD><E69298>𤑳㴓憓<E3B493><E68693>
|
||||
```
|
||||
|
||||
2. 检查后端地址:
|
||||
2. 璉<EFBFBD><EFBFBD>亙<EFBFBD>蝡臬𧑐<EFBFBD><EFBFBD>嚗?
|
||||
```javascript
|
||||
// frontend-v2/vite.config.ts
|
||||
proxy: {
|
||||
@@ -684,19 +684,19 @@ npm run build
|
||||
|
||||
---
|
||||
|
||||
### ❌ 问题4:Python微服务无法连接
|
||||
### <EFBFBD>?<3F>桅<EFBFBD>4嚗䥪ython敺格<E695BA><E6A0BC>⊥<EFBFBD>瘜閗<E7989C><E99697>?
|
||||
|
||||
**症状:**
|
||||
**<EFBFBD><EFBFBD>𠶖嚗?*
|
||||
- <20><>辣<EFBFBD>𣂼<EFBFBD>憭梯揖
|
||||
- <20>亙<EFBFBD><E4BA99>曄內 `Connection refused to extraction service`
|
||||
|
||||
**临时方案:**
|
||||
**銝湔𧒄<EFBFBD>寞<EFBFBD>嚗?*
|
||||
|
||||
目前Python微服务还在本地运行,需要以下两种方案之一:
|
||||
<EFBFBD>桀<EFBFBD>Python敺格<EFBFBD><EFBFBD>∟<EFBFBD><EFBFBD>冽𧋦<EFBFBD>啗<EFBFBD>銵䕘<EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD>誑銝衤舅蝘齿䲮獢<EFBFBD><EFBFBD>銝<EFBFBD>嚗?
|
||||
|
||||
**<2A>寞<EFBFBD>A嚗䥪ython<6F>滚𦛚銋罸<E98A8B>蝵脣<E89DB5>SAE嚗<45>綫<EFBFBD>琜<EFBFBD>**
|
||||
|
||||
1. 创建 `extraction_service/Dockerfile`:
|
||||
1. <EFBFBD>𥕦遣 `extraction_service/Dockerfile`嚗?
|
||||
```dockerfile
|
||||
FROM python:3.10-slim
|
||||
|
||||
@@ -721,28 +721,28 @@ npm run build
|
||||
docker push registry.cn-hangzhou.aliyuncs.com/aiclinical/python-dev:v1.0.0
|
||||
```
|
||||
|
||||
3. 在SAE创建新应用 `aiclinical-python-dev`
|
||||
3. <EFBFBD>沒AE<EFBFBD>𥕦遣<EFBFBD>啣<EFBFBD><EFBFBD>?`aiclinical-python-dev`
|
||||
|
||||
4. 修改Node后端环境变量:
|
||||
4. 靽格㺿Node<EFBFBD>𡒊垢<EFBFBD>臬<EFBFBD><EFBFBD>㗛<EFBFBD>嚗?
|
||||
```bash
|
||||
EXTRACTION_SERVICE_URL=http://python<6F>滚𦛚<E6BB9A><F0A69B9A>AE<41><45><EFBFBD><EFBFBD>啣<EFBFBD>:8000
|
||||
```
|
||||
|
||||
**<2A>寞<EFBFBD>B嚗帋蝙<E5B88B>典<EFBFBD>蝵𤑳忽<F0A491B3>𧶏<EFBFBD>銝湔𧒄撘<F0A79284><E69298>𡢅<EFBFBD>**
|
||||
|
||||
1. 使用ngrok或frp等工具
|
||||
2. 将本地8000端口暴露到公网
|
||||
1. 雿輻鍂ngrok<EFBFBD>餻rp蝑匧極<EFBFBD>?
|
||||
2. 撠<EFBFBD>𧋦<EFBFBD>?000蝡臬藁<E887AC>湧蠧<E6B9A7>啣<EFBFBD>蝵?
|
||||
3. 靽格㺿<E6A0BC>臬<EFBFBD><E887AC>㗛<EFBFBD>銝箏<E98A9D>蝵穃𧑐<E7A983><F0A79190>
|
||||
|
||||
---
|
||||
|
||||
## 📊 部署完成检查清单
|
||||
## <EFBFBD><EFBFBD> <20>函蔡摰峕<E691B0>璉<EFBFBD><E79289>交<EFBFBD><E4BAA4>?
|
||||
|
||||
### ✅ 后端部署
|
||||
### <EFBFBD>?<3F>𡒊垢<F0A1928A>函蔡
|
||||
|
||||
- [ ] Docker<65>𨅯<EFBFBD><F0A885AF><EFBFBD>遣<EFBFBD>𣂼<EFBFBD>
|
||||
- [ ] <20>𨅯<EFBFBD><F0A885AF>券<EFBFBD><E588B8><EFBFBD><EFBFBD>輸<EFBFBD>鈭飊CR
|
||||
- [ ] RDS数据库配置完成
|
||||
- [ ] RDS<EFBFBD>唳旿摨㯄<EFBFBD>蝵桀<EFBFBD><EFBFBD>?
|
||||
- [ ] RDS<44>賢<EFBFBD><E8B3A2>訫歇瘛餃<E7989B>
|
||||
- [ ] OSS Bucket<65>𥕦遣摰峕<E691B0>
|
||||
- [ ] RAM<41>冽<EFBFBD><E586BD><EFBFBD><EFBFBD><EFBFBD>滨蔭甇<E894AD>&
|
||||
@@ -751,18 +751,18 @@ npm run build
|
||||
- [ ] <20>亙熒璉<E78692><E79289>仿<EFBFBD>朞<EFBFBD>
|
||||
- [ ] `/health` <20>亙藁餈𥪜<E9A488>甇<EFBFBD>虜
|
||||
|
||||
### ✅ 前端部署
|
||||
### <EFBFBD>?<3F>滨垢<E6BBA8>函蔡
|
||||
|
||||
- [ ] <20>滨垢隞<E59EA2><E99A9E><EFBFBD><EFBFBD>遣<EFBFBD>𣂼<EFBFBD>
|
||||
- [ ] API<50>啣<EFBFBD><E595A3>滨蔭甇<E894AD>&
|
||||
- [ ] <20><>辣銝𠹺<E98A9D><F0A0B9BA>記SS
|
||||
- [ ] 静态网站托管开启
|
||||
- [ ] 前端页面可访问
|
||||
- [ ] <EFBFBD>蹱<EFBFBD><EFBFBD><EFBFBD>蝡蹱<EFBFBD>蝞∪<EFBFBD><EFBFBD>?
|
||||
- [ ] <EFBFBD>滨垢憿菟𢒰<EFBFBD>航挪<EFBFBD>?
|
||||
- [ ] <20>滚<EFBFBD>蝡舫<E89DA1>帋縑甇<E7B891>虜
|
||||
|
||||
### ✅ 数据库
|
||||
### <EFBFBD>?<3F>唳旿摨?
|
||||
|
||||
- [ ] 数据库迁移执行成功
|
||||
- [ ] <EFBFBD>唳旿摨栞<EFBFBD>蝘餅<EFBFBD>銵峕<EFBFBD><EFBFBD>?
|
||||
- [ ] Schema<6D>𥕦遣摰峕<E691B0>
|
||||
- [ ] 瘚贝<E7989A><E8B49D>唳旿<E594B3>鍦<EFBFBD><E98DA6>𣂼<EFBFBD>
|
||||
|
||||
@@ -772,38 +772,38 @@ npm run build
|
||||
|
||||
### <20><> 霈啣<E99C88><E595A3>滩<EFBFBD>靽⊥<E99DBD>
|
||||
|
||||
请将以下信息保存到安全的地方:
|
||||
霂瑕<EFBFBD>隞乩<EFBFBD>靽⊥<EFBFBD>靽嘥<EFBFBD><EFBFBD>啣<EFBFBD><EFBFBD>函<EFBFBD><EFBFBD>唳䲮嚗?
|
||||
|
||||
```
|
||||
【开发测试环境】
|
||||
<EFBFBD>𣂼<EFBFBD><EFBFBD>烐<EFBFBD>霂閧㴓憓<EFBFBD><EFBFBD>?
|
||||
|
||||
<EFBFBD>𡒊垢<EFBFBD>啣<EFBFBD>嚗冴ttp://雿删<E99BBF>SAE<41>啣<EFBFBD>:3001
|
||||
<EFBFBD>滨垢<EFBFBD>啣<EFBFBD>嚗冴ttp://aiclinical-dev.oss-cn-hangzhou.aliyuncs.com
|
||||
|
||||
RDS连接信息:
|
||||
RDS餈墧𦻖靽⊥<EFBFBD>嚗?
|
||||
- <20>啣<EFBFBD>嚗鬏m-xxxx.mysql.rds.aliyuncs.com
|
||||
- <20>唳旿摨橒<E691A8>aiclinical_dev
|
||||
- <20>冽<EFBFBD><E586BD>㵪<EFBFBD>aiclinical
|
||||
- 密码:***(请保密)
|
||||
- 撖<EFBFBD><EFBFBD>嚗?**嚗<>窈靽嘥<E99DBD>嚗?
|
||||
|
||||
OSS信息:
|
||||
OSS靽⊥<EFBFBD>嚗?
|
||||
- Bucket嚗惨iclinical-dev
|
||||
- AccessKeyId嚗匁TAI5t***
|
||||
- AccessKeySecret:***(请保密)
|
||||
- AccessKeySecret嚗?**嚗<>窈靽嘥<E99DBD>嚗?
|
||||
|
||||
ACR镜像仓库:
|
||||
ACR<EFBFBD>𨅯<EFBFBD>隞枏<EFBFBD>嚗?
|
||||
- <20>賢<EFBFBD>蝛粹𡢿嚗惨iclinical
|
||||
- 隞枏<E99A9E>嚗颹ackend-dev, python-dev
|
||||
- 登录密码:***(请保密)
|
||||
- <EFBFBD>餃<EFBFBD>撖<EFBFBD><EFBFBD>嚗?**嚗<>窈靽嘥<E99DBD>嚗?
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 下一步
|
||||
## <EFBFBD><EFBFBD> 銝衤<E98A9D>甇?
|
||||
|
||||
1. **持续集成/持续部署(CI/CD)**
|
||||
1. **<EFBFBD><EFBFBD>賒<EFBFBD><EFBFBD><EFBFBD>/<2F><>賒<EFBFBD>函蔡嚗㇃I/CD嚗?*
|
||||
- <20>滨蔭GitHub Actions<6E>銺enkins
|
||||
- 自动构建和部署
|
||||
- <EFBFBD>芸𢆡<EFBFBD><EFBFBD>遣<EFBFBD>屸<EFBFBD>蝵?
|
||||
|
||||
2. **<2A>烐綉<E78390>𡃏郎**
|
||||
- 撘<><E69298>𡁻燵<F0A181BB>䔶<EFBFBD>ARMS<4D>烐綉
|
||||
@@ -811,10 +811,10 @@ ACR镜像仓库:
|
||||
|
||||
3. **甇<><E79487><EFBFBD>臬<EFBFBD><E887AC>函蔡**
|
||||
- <20>𥕦遣<F0A595A6>煺漣<E785BA>臬<EFBFBD>Bucket嚗䫤aiclinical-prod`
|
||||
- 创建生产环境RDS:独立实例
|
||||
- <EFBFBD>𥕦遣<EFBFBD>煺漣<EFBFBD>臬<EFBFBD>RDS嚗𡁶𡠺蝡见<EFBFBD>靘?
|
||||
- <20>𥕦遣<F0A595A6>煺漣<E785BA>臬<EFBFBD>SAE摨𠉛鍂
|
||||
- 购买Redis:用于生产环境缓存
|
||||
- 配置CDN:加速静态资源
|
||||
- 韐凋僭Redis嚗𡁶鍂鈭𡒊<EFBFBD>鈭抒㴓憓<EFBFBD><EFBFBD>摮?
|
||||
- <EFBFBD>滨蔭CDN嚗𡁜<EFBFBD><EFBFBD>罸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>皞?
|
||||
|
||||
4. **<EFBFBD>笔<EFBFBD><EFBFBD>滨蔭**
|
||||
- 韐凋僭<E5878B>笔<EFBFBD>
|
||||
@@ -826,29 +826,30 @@ ACR镜像仓库:
|
||||
|
||||
## <20>働 <20>鞉𧋦隡睃<E99AA1>撱箄悅
|
||||
|
||||
### 开发测试环境(当前配置)
|
||||
### 撘<EFBFBD><EFBFBD>烐<EFBFBD>霂閧㴓憓<EFBFBD><EFBFBD>敶枏<EFBFBD><EFBFBD>滨蔭嚗?
|
||||
|
||||
| <20>滚𦛚 | 閫<>聢 | <20><>晶 | 霂湔<E99C82> |
|
||||
|------|------|------|------|
|
||||
| SAE | 1C2G <20> 1摰硺<E691B0> | 瞼150 | <20>厰<EFBFBD>隞䁅晶 |
|
||||
| RDS | 2C4G 通用版 | ¥300 | 包年更优惠 |
|
||||
| OSS | 100GB存储 | ¥10 | 按实际使用 |
|
||||
| RDS | 2C4G <EFBFBD>𡁶鍂<EFBFBD>?| 瞼300 | <EFBFBD><EFBFBD>僑<EFBFBD>港<EFBFBD><EFBFBD>?|
|
||||
| OSS | 100GB摮睃<EFBFBD> | 瞼10 | <EFBFBD>匧<EFBFBD><EFBFBD><EFBFBD>蝙<EFBFBD>?|
|
||||
| ACR | <20>滩晶憸嘥漲 | 瞼0 | <20>𣳇<EFBFBD>隞䁅晶 |
|
||||
| **合计** | | **¥460/月** | |
|
||||
| **<EFBFBD><EFBFBD>恣** | | **瞼460/<EFBFBD>?* | |
|
||||
|
||||
### 节省成本技巧
|
||||
### <EFBFBD><EFBFBD><EFBFBD><EFBFBD>鞉𧋦<EFBFBD><EFBFBD>撌?
|
||||
|
||||
1. **RDS包年优惠**:购买1年可节省15%
|
||||
2. **闲时关闭SAE**:测试环境夜间可关闭,节省50%
|
||||
3. **OSS生命周期**:设置90天后转低频存储
|
||||
4. **不使用Redis**:省¥200/月
|
||||
1. **RDS<EFBFBD><EFBFBD>僑隡䀹<EFBFBD>**嚗朞揚銋?撟游虾<E6B8B8><E899BE><EFBFBD>15%
|
||||
2. **<EFBFBD>脫𧒄<EFBFBD>喲𡡒SAE**嚗𡁏<E59A97>霂閧㴓憓<E3B493><E68693><EFBFBD>游虾<E6B8B8>喲𡡒嚗諹<E59A97><E8ABB9>?0%
|
||||
3. **OSS<EFBFBD>笔𦶢<EFBFBD>冽<EFBFBD>**嚗朞挽蝵?0憭拙<E686AD>頧砌<E9A0A7>憸穃<E686B8><E7A983>?
|
||||
4. **銝滢蝙<EFBFBD>沖edis**嚗𡁶<E59A97>瞼200/<EFBFBD>?
|
||||
|
||||
---
|
||||
|
||||
**文档版本:** v1.0
|
||||
**<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦嚗?* v1.0
|
||||
**<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD>堆<EFBFBD>** 2025-12-11
|
||||
**蝏湔擪<E6B994><E693AA><EFBFBD>** <20><><EFBFBD>舀沲<E88880><E6B2B2><EFBFBD>
|
||||
**反馈:** 如有问题,请联系技术团队
|
||||
**<EFBFBD>漤<EFBFBD>嚗?* 憒<><E68692><EFBFBD>桅<EFBFBD>嚗諹窈<E8ABB9>𠉛頂<F0A0899B><E9A082><EFBFBD>臬𣪧<E887AC>?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user