Files
MemRelay/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/生产环境拓扑与一键升级.md
T

29 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 生产环境拓扑与一键升级
type: fact
permalink: main/projects/d44c219a-0b31-4de1-b160-323eb34a4c6a/生产环境拓扑与一键升级
stable_id: d5bb7f58-99bb-4381-ac98-300cceb128fe
scope: project
project_id: d44c219a-0b31-4de1-b160-323eb34a4c6a
memory_type: fact
status: active
revision: 1
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
created_at: '2026-09-23T15:08:04.812872+00:00'
updated_at: '2026-09-23T15:08:04.812925+00:00'
tags:
- production
- server
- pm2
- baota
- upgrade
---
生产服务器 `8.134.255.136`(阿里云 Alinux 8,宝塔面板):Node 24,pnpm 由 corepack 提供,MySQL 本机 5.7(业务账号无 PROCESS 权限),Redis 本机。
- 部署目录 `/www/wwwroot/artveris`,PM2 应用名 **`server`**(非 artveris),API 端口 3000,域名 `https://art.qclh.xyz`(宝塔 Nginx 反代),升级工作目录 `/www/upgrade`(包/备份各保留最近 3 份)。
- SSH 免密:本机 `C:\Users\Administrator\.ssh\id_ed25519`,公钥已在 root authorized_keys。凭据条目见密码库“artveris · 生产服务器 SSH (8.134.255.136)”。
- PM2 开机自启已配置(2026-09-03):`pm2-root.service` enabled,重启链路 systemd → pm2 resurrect → `server`。
一键升级:本机运行 `.\scripts\upgrade-remote.ps1`(`-SkipBuild` 部署 `.release` 现有包)。流程:`build.py --upgrade` → scp 包+`upgrade-remote-steps.sh` → 远端备份(mysqldump `--single-transaction --no-tablespaces` 到 `/www/upgrade/backup/`,代码 tar 排除 node_modules/storage/backups)→ `pm2 stop server` → 官方 `upgrade.sh`(替代码/装依赖/prisma generate/migrate deploy)→ `pm2 restart` + `pm2 save` → 回环健康检查(install/status、/admin、/trace 均 200,10×3s)→ 清理旧包。任一步失败立即中止并保留备份,服务保持停止避免带病运行。打包前需先停本地 dev API。
- 已完成多次生产升级(含模块化编排迁移 `trace_module_layout`),`.env`/`storage/`/`backups/`/数据库未触碰。
- 生产上线检查单(天河链):换生产 AppID/AppKey → 切生产环境 → 生产重新注册钱包并离线保存凭据 → 抽一件真实走通 → 与天河商务核对计费。