这个博客是用 Astro 建的。
不是因为我是技术专家——事实上,在建站之前,我甚至不知道 Git 是什么,也没装过。这篇文章记录的,就是一个非技术背景的人,从零开始把博客搭起来、推上线的完整过程,以及我选择 Astro 的理由。
我的需求很简单
我只想要一个地方写东西。不需要评论系统,不需要后台管理,不需要数据库,不需要登录注册。
就是写文章,然后让人能看到。
这个需求听起来简单,但在开始动手之前,我低估了它的复杂程度。
第一道坎:工具的选择
市面上的建站工具多得让人头疼:WordPress、Hexo、Hugo、Next.js、Ghost……每一个都有人强烈推荐,每一个也都有人强烈反对。
我花了一些时间研究,最后把范围缩小到两个问题:
一、我需要一个数据库吗?
WordPress 需要数据库,意味着需要服务器,意味着需要维护,意味着每个月的费用和随时可能挂掉的风险。对于一个写博客的人来说,这些都是不必要的复杂度。
二、我需要动态内容吗?
博客文章一旦发布就不会变(除非我主动修改),不需要实时渲染。静态网站足够了。
这两个问题筛掉了大半选项。剩下的候选里,Astro 有一个特质吸引了我:它是专门为内容网站设计的。
为什么是 Astro,不是 Hugo 或 Hexo
Hugo 和 Hexo 也是静态站点生成器,也很成熟。但它们有一个我不喜欢的地方:主题驱动。
大多数人用 Hugo 或 Hexo 的方式是:找一个别人做好的主题,套上去,改改配置文件,完成。这当然省事,但你的博客从根本上是别人的博客,你只是填了内容进去。
Astro 不是这样的。它让你从组件开始搭建,你知道每一行代码在做什么,你的博客是你自己的。
这对我来说很重要。我写博客的原因之一,是拒绝算法平台对表达的异化。如果连博客本身都是套模板的产物,那这件事的意义就打了折扣。
真实的建站过程
说完理由,说说现实。
现实是:我在这个过程里踩了几乎所有新手会踩的坑。
Git 没有安装。 打开命令行,输入 git init,系统说”git 不是内部命令”。这是第一个需要解决的问题,也是最基础的问题。
目录搞错。 装好 Git 之后,我在错误的目录下执行了 git remote add,系统说”not a git repository”。原因很简单:忘记先 cd 进项目目录。
网络问题。 推送到 GitHub 时,连接被重置。国内访问 GitHub 的老问题。最后用 SSH 密钥的方式绕过了 HTTPS 的限制。
域名配置。 买了域名 fool.chat,需要在 DNS 服务商那里加两条记录:一条 A 记录指向 Vercel 的 IP,一条 CNAME 记录指向 Vercel 的域名服务器。配置本身不复杂,但不熟悉的人容易不知道从哪里入手。
SSL 证书。 配置完 DNS 之后,浏览器显示”不安全”。等了十几分钟,Vercel 自动签发了 SSL 证书,问题消失。这期间我以为是自己哪里配错了,其实只是需要等待。
浏览器插件干扰。 最后还有一个插曲:我装了加密钱包插件,它会向所有网页注入脚本,导致安全警告。用无痕模式访问,警告消失,网站完全正常。这个问题和博客本身毫无关系。
最终结果
从开始到博客上线,花了大半天时间。
现在 fool.chat 跑在 Vercel 上,全球 CDN 加速,SSL 证书自动续期,每次我推送新文章,网站在两分钟内自动更新。维护成本接近于零,每月费用为零。
以后写文章的流程是:在本地写 Markdown 文件,三行命令推送到 GitHub,完成。
写给同样想建站的人
如果你也想搭一个博客,我的建议是:
不要被技术门槛吓退。 我在这个过程里遇到的所有问题,都有明确的解决方案。每一个错误信息,都在告诉你下一步该做什么。
选择你能理解的工具。 不一定要用最流行的,用你大概能看懂结构的那个。出了问题,你才知道去哪里找答案。
静态网站 + Vercel 是目前最省心的组合。 不需要服务器,不需要运维,适合所有只想专注写作的人。
这篇文章写下来,发现建站这件事本身,和写博客这件事的逻辑是一样的:
自己动手,才真正是自己的东西。