166 字
1 分钟
博客故障排查报告
2026-04-29
2026-04-29

博客故障排查报告#

起因#

云服务器异常关机,重启后博客文章正文 404、后台 404、图片丢失。

根因#

  1. PM2 自启加载了错误的 Node 版本:系统默认 Node 切到了 v20,但项目 Astro 6.x 要求 ≥ 22.12.0,导致 pnpm build 失败、dist/ 未更新。
  2. better-sqlite3 原生模块 ABI 不匹配:旧 .node 是 v22 编译,运行时却用 v20,触发 Module did not self-register,SSR 无法读 site.db,admin 与文章详情全部 500/404。
  3. 数据库 data/site.db 与上传文件均健在,未发生数据丢失。

修复#

切回 Node 22 → npm install --build-from-source 重编 better-sqlite3 → pnpm buildpm2 delete && start,并用 nvm alias default 22 锁定版本防复发。

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

部分信息可能已经过时

目录