我为什么放弃自研 Astro CMS,最后回到 Ghost
我原本想用 Astro 自研一套内容站,最后却回到了 Ghost。这不是技术倒退,而是一次关于成本、稳定性、会员系统和持续发布的真实取舍。
我一开始并不是准备直接用 Ghost。
最早的想法是:既然我自己懂一点技术,也有自己的服务器和域名,那为什么不直接用 Astro 做一套完全属于自己的内容站?前端自己写,后台自己接,会员系统自己做,数据库自己控制。听起来很自由,也很“工程师正确”。
后来我真的做了。
Astro 前端跑起来了,PostgreSQL 接上了,登录、会员、后台、中文英文切换、管理页面也做了一版。站点本身并不差,甚至看起来还挺像那么回事。但真正把它放到服务器上、接域名、配 OpenResty、调 Docker、看资源占用、处理邮件和会员登录之后,我开始意识到一个问题:
我现在真正要做的,可能不是“开发一个 CMS”。
我真正要做的是“持续发布有价值的内容”。
这两个目标看起来接近,但其实完全不是一回事。
自研的吸引力
自研 Astro CMS 最大的诱惑是自由。
页面怎么长、栏目怎么组织、会员入口怎么放、后台要什么功能,理论上都可以自己决定。没有平台限制,没有主题限制,源码就在自己手里。对于一个喜欢折腾的人来说,这种控制感很有吸引力。
Astro 本身也很适合做内容站。它快、轻、结构清晰,静态内容体验很好。如果只是做一个作品集、文档站、展示页,Astro 是非常舒服的选择。
但我这次想做的不是一个简单展示站。
Try404 需要的不只是文章页面。它还需要会员注册、邮件验证、付费内容、Newsletter、标签体系、后台编辑、SEO、社交卡片、权限控制、数据统计,后面可能还要接 Stripe、做会员资料库。
这些东西每一个单独看都不难,但全部加起来,就是另一个项目。
更现实一点说:我如果继续自研,接下来很长一段时间都会被后台功能、登录逻辑、数据库迁移、邮件问题、权限判断和部署细节拖住。内容还没开始写,我已经在维护一个半成品 CMS。
这就不对了。
上服务器后,问题变得很具体
本地开发时,很多问题都不明显。
真正部署到我的小服务器上以后,问题变得非常具体。服务器是 Ubuntu 24.04,1 核 2G,40GB 系统盘,洛杉矶机房,30Mbps 峰值带宽,400GB 流量包。这个配置不是不能用,但每一个服务都要算账。
一开始服务器上已经有 1Panel、OpenResty、Ghost 和 MySQL。后来我又跑 Astro、PostgreSQL、Node 服务。服务一多,资源压力马上变得明显。不是说机器立刻跑不动,而是我开始担心后面每加一个功能,维护成本都会往上堆。
部署过程中也遇到过一些很真实的小问题。
比如上传文件到 /opt 目录时权限不对,SCP 直接报 Permission denied。比如 Docker 需要把 ubuntu 用户加进 docker 组。比如 1Panel 的 OpenResty 容器和自己跑的服务之间,反向代理到底应该填 127.0.0.1、公网 IP,还是容器网关地址。比如域名解析、生效时间、SSL、国内 4G 访问表现,都不是“复制一段教程”就能完全解决的。
这些问题本身都能修,但它们提醒我:自建项目不是写完代码就结束了,真正麻烦的是后面的持续维护。
如果 Try404 的目标是成为一个长期内容产品,那第一阶段最重要的应该是降低系统复杂度,而不是展示我能写多少代码。
Ghost 的价值不是酷,而是完整
Ghost 不酷。
至少跟自研系统比,它没有那种“完全属于我”的爽感。它还要跑 MySQL,主题开发也有自己的限制,后台有些地方不能随便改。刚开始我甚至觉得它有点重,有点不够自由。
但用了几轮之后,我开始理解它的价值。
Ghost 已经把一个内容站最麻烦的基础设施做好了:文章编辑、标签、作者、会员、邮件、Newsletter、付费内容、SEO、Open Graph、X Card、站点设置、主题上传、导入导出。这些功能不是不能自研,而是没必要在第一阶段自研。
尤其是会员系统。
一个内容站如果后面要做订阅,最怕的是早期就把会员、邮件、权限、支付这些东西做歪。Ghost 至少给了一个成熟的默认结构。免费会员、付费会员、邮件登录、Newsletter、文章访问权限,这些都已经可用。我要做的是把内容、定位和主题体验打磨好,而不是从零造一套账户系统。
所以我最后的判断是:
Astro 适合我以后做一些独立工具、专题页、交互页面。
Ghost 更适合 Try404 现在这个阶段做主站。
不是谁更高级,而是谁更适合当前目标。
我真正放弃的是什么
放弃自研 Astro CMS,并不是放弃技术控制。
我放弃的是第一阶段不必要的复杂度。
我不想为了一个还没有内容积累的网站,先花几周甚至几个月去完善后台、会员、邮件、权限和部署链路。那样很容易陷入一种假勤奋:每天都在开发,但真正能被读者看到的内容几乎没有增长。
这对内容站很危险。
内容站的第一性原理不是技术栈,而是持续输出。读者不会因为你后台是自研的就订阅你。读者会因为你提供了真实判断、可复用经验、清晰路线和长期更新而留下。
所以我现在更愿意把技术能力用在几个更关键的位置:
- 改 Ghost 主题,让网站有自己的识别度。
- 设计内容结构,让栏目不发散。
- 优化邮件、域名、SEO 和社交分享。
- 把真实踩坑记录整理成文章和会员资料。
- 必要时再用 Astro 做独立工具或专题页面。
这比一开始就自研全套 CMS 更现实。
Try404 接下来怎么做
这次取舍也顺便重新定义了 Try404。
它不是一个泛 AI 博客,也不是一个纯技术教程站。它更像一个实测型个人情报站。我会把自己真实试过的 AI 工作流、IT 工具、自建服务、旅行路线、摩托装备和内容系统记录下来。
核心不是“我知道什么”,而是:
我试过什么。
我保留了什么。
我放弃了什么。
我最后建议你怎么做。
目前 Try404 会先聚焦三个主栏目:
- AI 实验室
- IT 与工具
- 旅行与摩托
其它内容,例如电影、阅读、播客、会员资料库,会先作为辅助内容存在,不急着铺太开。起步阶段最怕的不是内容少,而是方向看起来什么都想做。
第一篇文章写这个主题,也算是给自己立一个标准:
Try404 不追求第一时间搬运信息。
Try404 记录亲自试过之后的判断。
如果一个东西我没有真的用过,没有踩过坑,没有形成自己的取舍,那它暂时不应该成为这里的核心内容。
给普通个人站的建议
如果你也想做一个个人内容站,我现在的建议很简单:
如果目标是写作、会员、Newsletter 和长期发布,先用 Ghost、WordPress、Substack 这类成熟系统,不要一上来就自研。
如果目标是做作品集、文档、静态展示、独立工具页,Astro 很好。
如果你非常享受开发 CMS 本身,那自研也没问题。但要诚实地区分:你是在做内容站,还是在做一个 CMS 项目。
我这次最大的收获就是这个区分。
对 Try404 来说,Ghost 不是终点。它只是当前阶段最合适的底座。真正重要的是从今天开始,把那些真实用过、真实踩过、真实留下来的东西,一篇篇写出来。
这也是 Try404 的第一条正式记录。
亲自试过,再分享。