Summary: - Successfully deployed complete system to Aliyun SAE (2025-12-25) - All services running: Python microservice + Node.js backend + Frontend Nginx + CLB - Public access available at http://8.140.53.236/ Major Achievements: 1. Python microservice deployed (v1.0, internal IP: 172.17.173.66:8000) 2. Node.js backend deployed (v1.3, internal IP: 172.17.173.73:3001) - Fixed 4 critical issues: bash path, config directory, pino-pretty, ES Module 3. Frontend Nginx deployed (v1.0, internal IP: 172.17.173.72:80) 4. CLB load balancer configured (public IP: 8.140.53.236) New Documentation (9 docs): - 11-Node.js backend SAE deployment config checklist (21 env vars) - 12-Node.js backend SAE deployment operation manual - 13-Node.js backend image fix record (config directory) - 14-Node.js backend pino-pretty fix - 15-Node.js backend deployment success summary - 16-Frontend Nginx deployment success summary - 17-Complete deployment practical manual 2025 edition (1800 lines) - 18-Deployment documentation usage guide - 19-Daily update quick operation manual (670 lines) Key Fixes: - Environment variable name correction: EXTRACTION_SERVICE_URL (not PYTHON_SERVICE_URL) - Dockerfile fix: added COPY config ./config - Logger configuration: conditional pino-pretty for dev only - Health check fix: ES Module compatibility (require -> import) Updated Files: - System status document updated with full deployment info - Deployment progress overview updated with latest IPs - All 3 Docker services' Dockerfiles and configs refined Verification: - All health checks passed - Tool C 7 features working correctly - Literature screening module functional - Response time < 1 second BREAKING CHANGE: Node.js backend internal IP changed from 172.17.173.71 to 172.17.173.73 Closes #deployment-milestone
406 lines
12 KiB
Markdown
406 lines
12 KiB
Markdown
# 🚀 AI临床研究平台 - 部署文档中心
|
||
|
||
> **最后更新**:2025-12-25
|
||
> **部署状态**:✅ 完全成功,所有服务运行正常
|
||
> **公网访问**:http://8.140.53.236/
|
||
|
||
---
|
||
|
||
## 🎯 快速开始(3分钟找到你需要的文档)
|
||
|
||
### 我要做什么?
|
||
|
||
| 你的目标 | 推荐文档 | 预计时间 |
|
||
|---------|---------|---------|
|
||
| 🔥 **日常更新代码(最常用)** | [19-日常更新快速操作手册](./19-日常更新快速操作手册.md) ⭐⭐⭐⭐⭐ | 20-25分钟 |
|
||
| 🚀 **完整部署系统** | [17-完整部署实战手册-2025版](./17-完整部署实战手册-2025版.md) | 3.5-6小时 |
|
||
| 🔍 **查询IP/密码等信息** | [00-部署进度总览](./00-部署进度总览.md) | 1分钟 |
|
||
| 📚 **学习部署原理** | [01-快速部署SOP-零基础版](./01-快速部署SOP-零基础版.md) | 4小时 |
|
||
| 🐍 **部署Python服务** | [09-Python微服务-SAE部署操作手册](./09-Python微服务-SAE部署操作手册.md) | 35分钟 |
|
||
| 🟢 **部署Node.js后端** | [12-Node.js后端-SAE部署操作手册](./12-Node.js后端-SAE部署操作手册.md) | 50分钟 |
|
||
| 🎨 **部署前端Nginx** | [07-前端Nginx-SAE部署操作手册](./07-前端Nginx-SAE部署操作手册.md) | 30分钟 |
|
||
| ❌ **遇到问题排查** | [15-Node.js后端-部署成功总结](./15-Node.js后端-部署成功总结.md) | 按需 |
|
||
| 📖 **不知道看哪个文档** | [18-部署文档使用指南](./18-部署文档使用指南.md) | 5分钟 |
|
||
|
||
---
|
||
|
||
## 🔥 日常更新操作(高频使用)⭐⭐⭐⭐⭐
|
||
|
||
### [19-日常更新快速操作手册.md](./19-日常更新快速操作手册.md)
|
||
|
||
**⚡ 最常用的文档!适合日常功能更新和快速迭代!**
|
||
|
||
**为什么推荐**:
|
||
- ✅ 短小精悍(670行),关键信息密集
|
||
- ✅ 可直接复制执行的命令
|
||
- ✅ 包含一键更新脚本
|
||
- ✅ 适合团队协作和AI助手使用
|
||
|
||
**包含内容**:
|
||
- **更新Node.js后端**(20-25分钟)- 最常用!
|
||
```bash
|
||
编译 → 构建镜像 → 推送ACR → SAE部署 → 验证
|
||
```
|
||
- **更新前端Nginx**(15-20分钟)
|
||
- **更新Python服务**(30分钟)
|
||
- **修改环境变量**(5分钟)- 高频操作!
|
||
- **查看日志**(1分钟)
|
||
- **回滚操作**(7分钟)
|
||
- **一键更新脚本**(自动化)
|
||
|
||
**适合人群**:
|
||
- 🎯 日常开发迭代的开发人员
|
||
- 🎯 需要快速部署更新的运维人员
|
||
- 🎯 团队新成员快速上手
|
||
- 🎯 AI助手执行部署任务
|
||
|
||
**快速示例**:
|
||
```bash
|
||
# 更新Node.js后端到v1.5
|
||
cd backend
|
||
npm run build
|
||
docker build -t backend-service:v1.5 .
|
||
docker push crpi-xxx.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.5
|
||
# 然后在SAE控制台部署新版本
|
||
```
|
||
|
||
---
|
||
|
||
## ⭐ 核心文档(新手必看)
|
||
|
||
### 1️⃣ 完整部署实战手册(强烈推荐)⭐⭐⭐⭐⭐
|
||
|
||
**[17-完整部署实战手册-2025版.md](./17-完整部署实战手册-2025版.md)**
|
||
|
||
**为什么推荐**:
|
||
- ✅ 基于2025-12-25实际部署经历编写
|
||
- ✅ 包含所有遇到的问题及解决方案
|
||
- ✅ 1800行详细步骤,可直接复制命令
|
||
- ✅ 跟着做就能成功!
|
||
|
||
**包含内容**:
|
||
- 完整部署流程(VPC→RDS→Python→Node.js→前端→CLB)
|
||
- 4个关键问题修复(环境变量、config、pino-pretty、ES Module)
|
||
- 关键经验总结(重启vs部署、环境变量命名等)
|
||
- 快速命令参考
|
||
- 完整链路测试
|
||
|
||
**适合人群**:
|
||
- 🎯 要快速部署的人
|
||
- 🎯 重新部署或迁移的人
|
||
- 🎯 想了解实际坑点的人
|
||
|
||
---
|
||
|
||
### 2️⃣ 部署进度总览(日常必备)⭐⭐⭐⭐⭐
|
||
|
||
**[00-部署进度总览.md](./00-部署进度总览.md)**
|
||
|
||
**为什么推荐**:
|
||
- ✅ 所有资源信息的索引中心
|
||
- ✅ 快速查询IP、密码、环境变量
|
||
- ✅ 文档导航指南
|
||
- ✅ 部署状态追踪
|
||
|
||
**包含内容**:
|
||
- SAE应用内网IP地址
|
||
- RDS数据库连接信息
|
||
- OSS AccessKey
|
||
- ACR镜像仓库地址
|
||
- 环境变量配置清单
|
||
- 快速命令参考
|
||
|
||
**适合场景**:
|
||
- 🔍 忘记IP地址
|
||
- 🔍 忘记数据库密码
|
||
- 🔍 需要查询资源配置
|
||
- 🔍 需要找相关文档
|
||
|
||
---
|
||
|
||
### 3️⃣ 部署文档使用指南⭐⭐⭐⭐
|
||
|
||
**[18-部署文档使用指南.md](./18-部署文档使用指南.md)**
|
||
|
||
**为什么推荐**:
|
||
- ✅ 快速导航,找到需要的文档
|
||
- ✅ 不同场景的阅读路径
|
||
- ✅ 关键信息速查表
|
||
- ✅ 最佳实践建议
|
||
|
||
**适合人群**:
|
||
- 📖 不知道从哪个文档开始看
|
||
- 📖 想快速找到特定信息
|
||
- 📖 想了解文档结构
|
||
|
||
---
|
||
|
||
## 📁 完整文档列表
|
||
|
||
### 🎯 核心指南(3个)
|
||
1. [README.md](./README.md) - 本文档,总入口
|
||
2. [00-部署进度总览.md](./00-部署进度总览.md) - 资源速查、文档索引
|
||
3. [18-部署文档使用指南.md](./18-部署文档使用指南.md) - 快速导航
|
||
|
||
### 🚀 完整部署(2个)
|
||
1. [17-完整部署实战手册-2025版.md](./17-完整部署实战手册-2025版.md) - ⭐ 实战版(推荐)
|
||
2. [01-快速部署SOP-零基础版.md](./01-快速部署SOP-零基础版.md) - 学习版
|
||
|
||
### 🔧 服务部署手册(4个)
|
||
1. [09-Python微服务-SAE部署操作手册.md](./09-Python微服务-SAE部署操作手册.md)
|
||
2. [12-Node.js后端-SAE部署操作手册.md](./12-Node.js后端-SAE部署操作手册.md)
|
||
3. [07-前端Nginx-SAE部署操作手册.md](./07-前端Nginx-SAE部署操作手册.md)
|
||
4. [08-PostgreSQL数据库部署操作手册.md](./08-PostgreSQL数据库部署操作手册.md)
|
||
|
||
### 📖 技术详解(4个)
|
||
1. [04-Python微服务-SAE容器部署指南.md](./04-Python微服务-SAE容器部署指南.md)
|
||
2. [05-Node.js后端-SAE容器部署指南.md](./05-Node.js后端-SAE容器部署指南.md)
|
||
3. [06-前端Nginx-SAE容器部署指南.md](./06-前端Nginx-SAE容器部署指南.md)
|
||
4. [10-Node.js后端-Docker镜像构建手册.md](./10-Node.js后端-Docker镜像构建手册.md)
|
||
|
||
### 📝 配置清单(1个)
|
||
1. [11-Node.js后端-SAE部署配置清单.md](./11-Node.js后端-SAE部署配置清单.md) - 21个环境变量详解
|
||
|
||
### 🐛 问题修复(4个)
|
||
1. [13-Node.js后端-镜像修复记录.md](./13-Node.js后端-镜像修复记录.md) - config目录问题
|
||
2. [14-Node.js后端-pino-pretty问题修复.md](./14-Node.js后端-pino-pretty问题修复.md) - 日志配置问题
|
||
3. [15-Node.js后端-部署成功总结.md](./15-Node.js后端-部署成功总结.md) - ⭐ 完整问题汇总
|
||
4. [16-前端Nginx-部署成功总结.md](./16-前端Nginx-部署成功总结.md) - 前端部署总结
|
||
|
||
---
|
||
|
||
## 🎉 部署成功证明
|
||
|
||
### 当前部署状态(2025-12-25)
|
||
|
||
| 服务 | 状态 | 内网地址 | 公网访问 |
|
||
|------|------|---------|---------|
|
||
| RDS PostgreSQL | ✅ 运行中 | `pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432` | ❌ |
|
||
| Python微服务 | ✅ 运行中 | `172.17.173.66:8000` | ❌ |
|
||
| Node.js后端 | ✅ 运行中 | `172.17.173.73:3001` | ❌ |
|
||
| 前端Nginx | ✅ 运行中 | `172.17.173.72:80` | ✅ |
|
||
| CLB负载均衡 | ✅ 运行中 | - | `http://8.140.53.236/` |
|
||
|
||
### 功能验证
|
||
|
||
- ✅ 前端页面正常访问
|
||
- ✅ 用户登录功能正常
|
||
- ✅ 文献筛查模块正常
|
||
- ✅ 数据清洗工具C的7大功能全部正常
|
||
- ✅ 文件上传功能正常
|
||
- ✅ AI对话功能正常
|
||
- ✅ 数据库连接正常
|
||
- ✅ Python服务调用正常
|
||
- ✅ 响应时间 < 1秒
|
||
|
||
---
|
||
|
||
## ⚠️ 关键经验(必读)
|
||
|
||
### 1. 环境变量名必须精确
|
||
|
||
**❌ 错误配置**:
|
||
```bash
|
||
PYTHON_SERVICE_URL=http://172.17.173.66:8000
|
||
```
|
||
|
||
**✅ 正确配置**:
|
||
```bash
|
||
EXTRACTION_SERVICE_URL=http://172.17.173.66:8000
|
||
```
|
||
|
||
**教训**:代码中使用的是 `EXTRACTION_SERVICE_URL`,环境变量名一个字母都不能错!
|
||
|
||
---
|
||
|
||
### 2. 区分"重启应用"和"部署应用"
|
||
|
||
| 操作 | 用途 | IP是否变 | 何时使用 |
|
||
|------|------|---------|---------|
|
||
| **重启应用** | 重启容器 | ❌ 不会变 | 修改环境变量、调整配置 |
|
||
| **部署应用** | 更新镜像 | ✅ 会变更 | 更新代码、更新镜像版本 |
|
||
|
||
**教训**:只修改环境变量时,用"重启应用",避免IP变更导致其他服务配置失效!
|
||
|
||
---
|
||
|
||
### 3. Dockerfile必须包含config目录
|
||
|
||
**问题**:
|
||
```
|
||
ENOENT: no such file or directory, open '/app/config/agents.yaml'
|
||
```
|
||
|
||
**解决**:
|
||
```dockerfile
|
||
# ✅ 必须添加
|
||
COPY config ./config
|
||
```
|
||
|
||
---
|
||
|
||
### 4. 使用VPC地址拉取镜像(省钱)
|
||
|
||
**SAE拉取镜像时**:
|
||
```bash
|
||
# ✅ 正确(VPC地址,免流量费)
|
||
crpi-xxx-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
|
||
|
||
# ❌ 不推荐(公网地址,收流量费)
|
||
crpi-xxx.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
|
||
```
|
||
|
||
---
|
||
|
||
## 💡 快速命令参考
|
||
|
||
### 登录ACR
|
||
```bash
|
||
docker login --username=gofeng117@163.com \
|
||
--password=fengzhibo117 \
|
||
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com
|
||
```
|
||
|
||
### 构建并推送镜像
|
||
```bash
|
||
# Node.js后端
|
||
cd backend
|
||
npm run build
|
||
docker build -t backend-service:v1.3 .
|
||
docker tag backend-service:v1.3 \
|
||
crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
|
||
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v1.3
|
||
```
|
||
|
||
### 健康检查
|
||
```bash
|
||
# Python服务
|
||
curl http://172.17.173.66:8000/api/health
|
||
|
||
# Node.js后端
|
||
curl http://172.17.173.73:3001/health
|
||
|
||
# 前端Nginx
|
||
curl http://172.17.173.72:80/health
|
||
|
||
# 公网访问
|
||
curl http://8.140.53.236/
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 部署架构图
|
||
|
||
```
|
||
用户浏览器
|
||
↓ HTTP (公网)
|
||
CLB负载均衡器 (8.140.53.236)
|
||
↓ HTTP (内网)
|
||
前端Nginx (172.17.173.72:80)
|
||
↓ HTTP (内网, /api/v1/)
|
||
Node.js后端 (172.17.173.73:3001)
|
||
↓ HTTP (内网, /api/dc/)
|
||
Python服务 (172.17.173.66:8000)
|
||
↓ SQL (内网)
|
||
RDS PostgreSQL (pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432)
|
||
```
|
||
|
||
---
|
||
|
||
## 🆘 需要帮助?
|
||
|
||
### 常见问题
|
||
|
||
**Q:我是新手,从哪里开始?**
|
||
- A:直接看 [17-完整部署实战手册-2025版](./17-完整部署实战手册-2025版.md)
|
||
|
||
**Q:只想更新代码,不想全部重新部署?**
|
||
- A:看对应服务的操作手册(如 [12-Node.js后端-SAE部署操作手册](./12-Node.js后端-SAE部署操作手册.md))
|
||
|
||
**Q:遇到报错了怎么办?**
|
||
- A:先看 [17-完整部署实战手册-2025版](./17-完整部署实战手册-2025版.md) 第9节
|
||
|
||
**Q:忘记密码或IP地址了?**
|
||
- A:查 [00-部署进度总览](./00-部署进度总览.md)
|
||
|
||
**Q:不知道看哪个文档?**
|
||
- A:看 [18-部署文档使用指南](./18-部署文档使用指南.md)
|
||
|
||
---
|
||
|
||
## 🎯 推荐阅读路径
|
||
|
||
### 路径1:首次完整部署(新手)
|
||
|
||
```
|
||
17-完整部署实战手册-2025版.md(主线)
|
||
↓
|
||
00-部署进度总览.md(查资源信息)
|
||
↓
|
||
15-Node.js后端-部署成功总结.md(遇到问题时)
|
||
```
|
||
|
||
**预计时间**:3.5 - 6小时
|
||
|
||
---
|
||
|
||
### 路径2:更新某个服务(熟练)
|
||
|
||
```
|
||
对应服务的操作手册(如12-Node.js后端-SAE部署操作手册.md)
|
||
↓
|
||
00-部署进度总览.md(查ACR地址)
|
||
```
|
||
|
||
**预计时间**:15 - 30分钟
|
||
|
||
---
|
||
|
||
### 路径3:修改环境变量
|
||
|
||
```
|
||
11-Node.js后端-SAE部署配置清单.md(确认变量名)
|
||
↓
|
||
SAE控制台修改
|
||
↓
|
||
重启应用(不是部署应用!)
|
||
```
|
||
|
||
**预计时间**:5分钟
|
||
|
||
---
|
||
|
||
## 📞 技术支持
|
||
|
||
- **开发团队**:内部文档体系
|
||
- **阿里云工单**:https://workorder.console.aliyun.com/
|
||
- **紧急问题**:先查文档,99%的问题都有解决方案
|
||
|
||
---
|
||
|
||
## 🎉 总结
|
||
|
||
**恭喜您找到了完整的部署文档!**
|
||
|
||
### 3个核心文档记住它们
|
||
|
||
1. **本文档(README)** - 总入口,快速导航
|
||
2. **[17-完整部署实战手册-2025版](./17-完整部署实战手册-2025版.md)** - 部署必看
|
||
3. **[00-部署进度总览](./00-部署进度总览.md)** - 信息速查
|
||
|
||
### 部署成功的3个关键
|
||
|
||
1. ✅ 环境变量名必须精确匹配代码
|
||
2. ✅ 区分"重启应用"和"部署应用"
|
||
3. ✅ 按顺序部署,每步都要验证
|
||
|
||
---
|
||
|
||
> **最后更新**:2025-12-25
|
||
> **部署状态**:✅ 完全成功
|
||
> **公网访问**:http://8.140.53.236/
|
||
> **维护人员**:开发团队
|
||
|
||
🚀 **开始部署吧!祝您顺利!**
|
||
|