已决策的部署目标
🖥 服务器:阿里云雅加达 8.215.20.106(4 核 8G · 70G 盘 · Ubuntu 24.04 · 已续费)
🌐 域名方案:子域名 app.aifengdcs.com(主域名已有,子域名免费)
📦 系统:AIFENG DCS 成品包(本机 staging 已验证,批准中心已批准)
9 步部署路线图
第 1 步 · 服务器初始化与安全加固
状态: DONE
做什么:创建普通用户、改用密钥登录、更新系统补丁、配置防火墙只开放 80 / 443 / 22 三个端口。
预计耗时:约 30–60 分钟
风险:防火墙配错可能把自己锁在门外;会保留当前登录会话再开新窗口验证后才确认。
回滚方法:阿里云控制台可 VNC 登录恢复;防火墙规则可清空重来,此阶段无任何业务数据。
PENDING · 待老板批准
第 2 步 · 安装 PostgreSQL 16 并建库
状态: PENDING
做什么:安装 PostgreSQL 16,创建生产数据库与独立账号,仅监听本机,配置每日自动备份任务。
预计耗时:约 20–30 分钟
风险:版本兼容问题;本机 staging 已在同版本验证通过,风险低。
回滚方法:卸载重装即可;此阶段还没有导入任何数据,零损失。
PENDING · 待老板批准
第 3 步 · 上传成品包(SHA256 校验)
状态: PENDING
做什么:把批准中心已批准的成品包上传到服务器,逐字符核对 SHA256 指纹,一致才解压部署。
预计耗时:约 10–30 分钟(看上传网速)
风险:上传中断或文件损坏;SHA256 校验 100% 能发现,发现就重传。
回滚方法:删除重传即可;服务器上此时没有旧数据可破坏。
PENDING · 待老板批准
第 4 步 · 安装 Caddy 反代 + 自动 HTTPS
状态: PENDING
做什么:安装 Caddy,配置 app.aifengdcs.com 反向代理到本机应用端口;Caddy 自动申请并续期免费 SSL 证书。
预计耗时:约 20 分钟
风险:DNS 未生效时证书申请会失败;安排在第 5 步 DNS 生效之后执行。
回滚方法:删除 Caddy 配置重来;不涉及任何数据。
PENDING · 待老板批准
第 5 步 · DNS 解析 app.aifengdcs.com
状态: PENDING
做什么:在域名服务商后台加一条 A 记录:主机记录 app → 8.215.20.106。需要老板确认域名是在哪家买的(详见 DNS 指引页)。
预计耗时:操作约 5 分钟;全球生效 10 分钟–24 小时
风险:填错 IP 会访问到错误地址;记录随时可改回。
回滚方法:删除这条 A 记录即恢复原状。
PENDING · 待老板批准
第 6 步 · 数据迁移 staging → 生产
状态: PENDING
做什么:把本机 staging 库的全部业务数据导入生产库,导入前后行数核对表给老板过目。【高风险 · Human-Gate】
预计耗时:约 30–60 分钟
风险:数据量大可能超时;分批导入并逐表核对行数。
回滚方法:导入失败可清空生产库重来;本机 staging 数据不动。
PENDING · 待老板批准
第 7 步 · 健康检查六项
状态: PENDING
做什么:逐项检查,任何一项不通过就不进入下一步:
- ① 首页返回 HTTP 200
- ② API 健康端点返回正常
- ③ 数据库连接与行数核对正常
- ④ HTTPS 证书有效且自动续期
- ⑤ 自动备份任务已启动并产出首份备份
- ⑥ 磁盘与内存余量达标
预计耗时:约 15 分钟
风险:本身无风险,是纯检查;不通过就回到对应步骤修复。
回滚方法:无需回滚;检查不通过即停止前进。
PENDING · 待老板批准
第 8 步 · 旧系统并行观察期
状态: PENDING
做什么:新系统上线,旧系统继续运行 3–7 天;员工双轨核对,确认新系统数据无误。
预计耗时:3–7 天
风险:员工混淆两套系统;明确分工 + 每日对账。
回滚方法:观察期内发现任何问题,直接全部回到旧系统,零损失。
PENDING · 待老板批准
第 9 步 · 正式切换 + 回滚点
状态: PENDING
做什么:老板批准后正式切换:切换前打服务器快照作为回滚点,旧系统转只读归档,新系统成为唯一正式系统。【高风险 · Human-Gate】
预计耗时:约 30 分钟
风险:切换后发现遗漏数据;第 8 步观察期已把风险降到最低。
回滚方法:用服务器快照 + 本地备份一键还原(详见还原预案页)。
PENDING · 待老板批准
成品包指纹(第 3 步上传后核对用)
| 文件名 | AIFENG_DCS_FINAL_LOCAL_STAGING_PRODUCT.zip |
|---|---|
| SHA256 指纹 | UNAVAILABLE |
| 大小 | 0 bytes |
与老板批准中心展示的指纹完全一致才算上传成功;不一致必须重新上传。
⚠ 每一步动工前再次请示老板