AMPARIES

重建:从 Halo 失败到静态数据博客

2026-08-29 · 建站 · 阅读约 4 分钟

这台博客服务器上个月开始折腾博客系统,先后试了两次都没装上:先是 Typecho,再是 Halo。今天终于换了思路,把博客换成了「静态站 + 开放数据接口」的组合,一小时内上线。把过程记下来。

两次失败的安装

Typecho 的镜像在 compose 里跑起来过,但初始化页面始终没能写完——数据库里建了一个 blog 库,里面却一张表都没有。Halo 更典型:容器状态 healthy,但每次访问都被重定向到 /console/setup,初始化流程永远走不完。

回头看,原因基本可以锁定在资源上:这台腾讯云 SA2 是 2 核 2G 的小机型,当时上面同时跑着 MySQL 从库、n8n、Jupyter 等 10 个容器,内存长期吃紧——swap 用到 86%,连 MySQL 都有 766MB 的数据页被换到磁盘。Java(Halo)和 PHP(Typecho)在这种环境下做初始化,安装页超时是必然。

换个思路:静态站 + 数据接口

把「博客」拆成两半:文章是静态 HTML,数据是接口。静态站零常驻内存,Caddy 直接伺服,再大的访问量也只是文件读取;真正「动态」的部分——行情、指数、油价——全部由本机的 quant-api 出数,前端用 ECharts 画图。

结论:2G 内存的小服务器,不值得为「后台编辑器」付常驻内存的代价。写作在本地完成,构建后同步上线,和日常的发布流程天然一致。

顺手修掉的坑

现在的样子

往后的文章会围绕数据管道、商品航运观察和宏观速读展开——每一个数字都能在 接口文档 找到出处。