Files
AIclinicalresearch/docs/05-部署文档
HaHafeng 8be8cdcf53 docs(deploy): Update quick deployment SOP with real ACR configuration
Summary:
- Add complete ACR personal registry information (namespace, credentials, endpoints)
- Update all 3 image repositories with real addresses (frontend-nginx, python-extraction, nodejs-backend)
- Update docker login/tag/push commands with actual registry domain
- Add security warnings for credential management

Files changed:
- docs/05-部署文档/01-快速部署SOP-零基础版.md

Status: ACR configuration section completed, ready for Docker image build phase
2025-12-18 21:30:01 +08:00
..

AI临床研究平台 - 阿里云部署文档导航

文档版本: v2.0
最后更新: 2025-12-14
文档总数: 11份
部署目标: 阿里云 SAE + RDS PostgreSQL 15 + OSS
适用团队: 1-2人初创团队 → 10人成长团队


📋 文档清单

🎯 必读文档(按阅读顺序)

# 文档名称 用途 阅读时间 优先级
1 00-部署架构总览.md 理解整体架构和模块关系 30分钟
2 ⚠️ 07-关键配置补充说明.md 修正致命问题NAT/安全/超时) 20分钟
3 08-部署检查清单.md 逐步操作清单 边部署边查看

📖 独立部署文档(按部署顺序)

# 文档名称 部署对象 阅读时间 部署时间
4 PostgreSQL部署策略-摸底报告.md RDS PostgreSQL 15 20分钟 10分钟
5 05-Node.js后端-SAE容器部署指南.md Node.js后端 30分钟 20-30分钟
6 04-Python微服务-SAE容器部署指南.md Python微服务 25分钟 20-30分钟
7 06-前端Nginx-SAE容器部署指南.md React前端 25分钟 15-20分钟
8 03-Dify-ECS部署完全指南.md Dify RAG平台 30分钟 30-60分钟

📚 参考文档

# 文档名称 用途
9 CTO代码审查报告.md 架构审查和问题识别
10 集成部署补充指南.md 集成问题解决方案
11 01-部署架构设计.md 历史文档(待更新)

🚀 快速开始

新团队首次部署(推荐路径)

阶段0准备工作30分钟
├─ 阅读《00-部署架构总览》
├─ 阅读《07-关键配置补充说明》⚠️ 必读
└─ 打印《08-部署检查清单》

阶段1基础设施Day 1上午2小时
├─ VPC + NAT网关 必需)
├─ RDS PostgreSQL 15
├─ OSS Bucket
└─ 参考08-部署检查清单 第1部分

阶段2核心服务Day 1下午2小时
├─ Node.js后端临时Dify配置
├─ Python微服务
├─ 前端
└─ 参考08-部署检查清单 第2部分

阶段3Dify服务Day 2上午1小时
├─ ECS部署Dify
├─ 生成API Key
└─ 更新后端配置
└─ 参考08-部署检查清单 第3部分

阶段4测试验证Day 2下午1小时
└─ 参考08-部署检查清单 第4部分

总计约6小时实际操作时间

⚠️ 关键注意事项(必读!)

🚨 致命问题P0/P1- 不解决会导致系统不可用

  1. NAT网关缺失

    • 问题SAE无公网出口AI功能全部超时
    • 解决创建NAT网关 + EIP + SNAT条目
    • 成本¥100/月
    • 参考:07-关键配置补充说明.md 第1节
  2. Dify API Key死锁

    • 问题后端需要Key但Key需要Dify先启动
    • 解决分阶段部署先用临时Key
    • 参考:07-关键配置补充说明.md 第2节
  3. HTTP超时未配置

    • 问题Python服务慢后端连接泄漏
    • 解决设置timeout=120秒
    • 参考:07-关键配置补充说明.md 第3节
  4. ECS端口安全

    • 问题Redis/Weaviate对公网开放
    • 解决只监听127.0.0.1
    • 参考:07-关键配置补充说明.md 第4节
  5. Python Workers过多

    • 问题PyMuPDF吃内存OOM崩溃
    • 解决workers=2不超过2GB/0.8GB
    • 参考:07-关键配置补充说明.md 第6节
  6. Nginx文件大小限制

    • 问题医疗PDF大文件上传失败
    • 解决client_max_body_size 50M
    • 参考:07-关键配置补充说明.md 第5节

📊 文档更新记录

v2.0 (2025-12-14) - 关键问题修正版

新增文档:

  • 07-关键配置补充说明.md813行- 修正6个致命问题
  • 08-部署检查清单.md784行- 完整操作清单
  • README.md(本文档)- 部署文档导航

更新文档:

  • 00-部署架构总览.md
    • 物理架构图增加NAT网关
    • 成本估算更新¥1,200/月)
    • 部署顺序增加分阶段说明
    • 风险分析增加详细解决方案

核心改进:

  1. ⚠️ NAT网关配置P0必需
  2. ⚠️ 部署依赖死锁解决P1
  3. ⚠️ HTTP超时配置P1
  4. ⚠️ 安全配置强化P0
  5. ⚠️ OOM防护P1
  6. ⚠️ 文件上传限制P2

审查来源:

  • CTO代码审查报告.md识别3个致命问题
  • 集成部署补充指南.md:提供实战解决方案

v1.0 (2025-12-13) - 初始版本

文档清单:

  • 00-部署架构总览.md1,345行
  • PostgreSQL部署策略-摸底报告.md1,327行
  • 03-Dify-ECS部署完全指南.md1,189行
  • 04-Python微服务-SAE容器部署指南.md1,524行
  • 05-Node.js后端-SAE容器部署指南.md2,178行
  • 06-前端Nginx-SAE容器部署指南.md2,064行

📖 详细文档说明

1. 00-部署架构总览.md

用途: 理解整体架构5个模块的关系阿里云服务映射

核心内容:

  • 3个架构图逻辑/物理/数据流)
  • 5个模块依赖关系L1-L4层级
  • 模块与阿里云服务映射SAE/RDS/OSS/ECS
  • 开发环境 vs 部署环境
  • Docker版本管理策略
  • 线上故障快速修复4种方案

适合人群: 所有人(技术负责人、开发、运维)

关键章节:

  • 第1章架构全景图必读
  • 第2章5个核心模块关系
  • 第3章模块与阿里云服务映射
  • 第6章线上故障快速修复 重点)

2. 07-关键配置补充说明.md ⚠️

用途: 修正原文档遗漏的6个致命问题

核心内容:

  • 🚨 P0/P1致命问题6个
    1. SAE孤岛效应 - NAT网关配置
    2. 部署依赖死锁 - Dify API Key
    3. HTTP Client超时 - 120秒配置
    4. ECS端口安全 - Redis/Weaviate
    5. Nginx文件大小 - 50MB限制
    6. Python Workers - OOM防护

适合人群: 所有人(⚠️ 部署前必读)

修复时间: 约40分钟必需修复


3. 08-部署检查清单.md

用途: 逐步操作清单,确保不遗漏任何步骤

核心内容:

  • 阶段1基础设施2小时
    • VPC + NAT网关 ⚠️
    • RDS PostgreSQL 15
    • OSS Bucket
    • ACR容器镜像仓库
  • 阶段2核心服务2小时
    • Node.js后端临时Dify配置
    • Python微服务
    • 前端
  • 阶段3Dify服务1小时
    • ECS部署
    • API Key生成
    • 后端配置更新
  • 阶段4测试验证1小时
  • 阶段5可选优化

使用方式: 打印或复制到笔记,逐项打勾


4. PostgreSQL部署策略-摸底报告.md

用途: 深入理解PostgreSQL 15数据库架构和部署策略

核心内容:

  • 本地数据库真实情况10个Schema隔离
  • Prisma与数据库差异pg-boss表自愈机制
  • 数据库连接方式DATABASE_URL + 连接池)
  • 首次部署方案pg_dump vs Prisma migrate
  • 未来更新策略(新表/修改字段/新模块)
  • RDS备份策略4道防线
  • 最佳实践与禁止操作

适合人群: 后端开发、DBA、运维

关键发现:

  • pg-boss表会自动创建无需担心
  • 推荐pg_dump全量导入10分钟完成
  • RDS自动备份足够初期不需要ECS脚本

5. 05-Node.js后端-SAE容器部署指南.md

用途: Node.js后端详细部署步骤

核心内容:

  • 为什么选择SAE容器部署
  • 后端服务分析Node 22 + Fastify + Prisma
  • Prisma反向同步关键解决Schema不一致
  • Dockerfile多阶段构建
  • SAE应用配置环境变量、健康检查
  • 数据库部署策略pg_dump + prisma db pull
  • 端到端测试
  • 监控与故障排查

适合人群: 后端开发、运维

关键章节:

  • 第4章Prisma反向同步必读
  • 第5章Dockerfile生产环境Prisma CLI
  • 第8章SAE应用配置环境变量

6. 04-Python微服务-SAE容器部署指南.md

用途: Python微服务详细部署步骤

核心内容:

  • 为什么选择SAE容器系统依赖问题
  • Python服务分析PyMuPDF + Nougat + Polars
  • Dockerfile多阶段构建系统依赖安装
  • ⚠️ Workers限制防止OOM
  • SAE应用配置
  • 端到端测试

适合人群: Python开发、运维

关键注意:

  • ⚠️ workers=2不要超过会OOM
  • ⚠️ 内存至少2GB
  • ⚠️ 系统依赖libGL等必须在Dockerfile中安装

7. 06-前端Nginx-SAE容器部署指南.md

用途: React前端详细部署步骤

核心内容:

  • 为什么选择SAE Nginx容器
  • 前端服务分析React 19 + Vite 7
  • Dockerfile多阶段构建
  • nginx.conf.templateSPA路由 + 反向代理)
  • SAE应用配置envsubst动态配置
  • 端到端测试

适合人群: 前端开发、运维

关键配置:

  • ⚠️ client_max_body_size 50M
  • ⚠️ try_files $uri /index.htmlSPA路由
  • ⚠️ envsubst动态注入后端地址

8. 03-Dify-ECS部署完全指南.md

用途: Dify RAG平台详细部署步骤

核心内容:

  • 为什么选择ECS复杂服务独立数据库
  • ECS准备Docker + Docker Compose
  • ⚠️ Swap配置防止OOM
  • docker-compose.yaml配置7个服务
  • ⚠️ 端口安全Redis/Weaviate只监听localhost
  • Nginx路由层CORS处理
  • 故障排查

适合人群: 运维、后端开发

关键安全:

  • ⚠️ Redis: 127.0.0.1:6379:6379
  • ⚠️ Weaviate: 127.0.0.1:8080:8080
  • ⚠️ 独立数据库(不要和业务库混用)

9. CTO代码审查报告.md 📚

用途: 识别架构问题和风险点

核心发现:

  • 🚨 SAE孤岛效应NAT网关
  • 🔄 部署依赖死锁Dify Key
  • 🌐 CORS问题前端直连Dify
  • 🔐 端口安全Redis/Weaviate

评分: A-(优秀,但有关键问题需解决)


10. 集成部署补充指南.md 📚

用途: 集成部署的实战解决方案

核心内容:

  • NAT网关配置两种方案
  • SSH隧道配置跳板机
  • 一键发布脚本(可选)
  • OSS权限规划

🎯 不同角色的阅读建议

技术负责人/CTO

☐ 1. 00-部署架构总览30分钟- 理解整体架构
☐ 2. 07-关键配置补充说明20分钟- 识别风险
☐ 3. CTO代码审查报告10分钟- 审查视角
☐ 4. 成本估算¥1,200/月

总计60分钟

后端开发工程师

☐ 1. 00-部署架构总览30分钟- 理解架构
☐ 2. 07-关键配置补充说明20分钟- 修正问题
☐ 3. PostgreSQL部署策略30分钟- 数据库详解
☐ 4. 05-Node.js后端部署30分钟- 详细步骤
☐ 5. 04-Python微服务部署25分钟- Python服务

总计135分钟2.5小时)

前端开发工程师

☐ 1. 00-部署架构总览30分钟- 理解架构
☐ 2. 07-关键配置补充说明10分钟- Nginx配置
☐ 3. 06-前端Nginx部署25分钟- 详细步骤

总计65分钟

运维工程师

☐ 1. 00-部署架构总览30分钟- 理解架构
☐ 2. 07-关键配置补充说明20分钟- 必读
☐ 3. 08-部署检查清单(边部署边查看)- 操作清单
☐ 4. 所有独立部署文档各30分钟- 详细步骤

总计阅读2小时 + 部署6小时

💡 常见问题FAQ

Q1: 必须先读哪几份文档?

A: 3份必读按顺序

  1. 00-部署架构总览.md(理解整体)
  2. 07-关键配置补充说明.md(修正致命问题)⚠️
  3. 08-部署检查清单.md(逐步操作)

Q2: 为什么NAT网关这么重要

A: SAE部署在VPC内网没有NAT网关

  • 后端无法调用DeepSeek/OpenAI API
  • Python无法下载公网PDF
  • npm install无法下载公网依赖
  • 结果所有AI功能不可用

Q3: Dify API Key的鸡生蛋问题怎么解决

A: 分阶段部署:

  1. 后端先用临时Keytemp_placeholder
  2. 部署Dify并生成真实Key
  3. 更新后端环境变量并重启

Q4: 为什么Python workers只能设置2个

A: PyMuPDF + Nougat OCR非常吃内存

  • 单个worker~800MB内存
  • SAE配置2GB内存
  • workers=2安全值2 × 800MB = 1.6GB < 2GB
  • workers=3会OOM崩溃

Q5: 部署需要多长时间?

A:

  • 首次部署6小时实际操作
  • 后续更新10-30分钟镜像重新部署

Q6: 总成本多少?

A: ¥1,200-1,250/月(初期配置)

  • SAE¥350/月
  • RDS¥400/月
  • ECSDify¥300/月
  • NAT网关¥100/月
  • OSS¥10/月

📞 获取帮助

遇到问题?

  1. 查看故障排查章节:每个独立文档都有详细的故障排查
  2. 检查关键配置07-关键配置补充说明.md
  3. 查看审查报告CTO代码审查报告.md集成部署补充指南.md

反馈建议

如果文档有遗漏或错误,欢迎反馈!


文档维护人: AI助手
最后更新: 2025-12-14
版本: v2.0

核心理念:架构清晰、安全第一、步骤详细、易于上手