这台机器是搬瓦工的入门款:两核 CPU、1 GB 内存、20 GB 磁盘。跑数据库太挤,跑容器又有点浪费,最后选了最朴素的方案——静态站点。

为什么是静态的

静态站的意思是:文章写在 Markdown 文件里,构建时一次性生成 HTML,服务器上只剩下一堆纯文本文件。没有数据库,没有后台进程,没有 PHP 或 Node 在后台常驻。

好处很实在:

  • 省资源。Web 服务器进程只占十几兆内存,1 GB 的机器可以睡得很安稳。
  • 快。用户拿到的就是现成的 HTML,不用等服务端现算。
  • 不用担心被黑。没有登录后台,没有可执行的服务端脚本,攻击面小到几乎没有。
  • 迁移方便。整站就是一堆文件,打包拷走就能换个地方活。

当然也有代价:没有评论、没有在线编辑器、没有动态搜索。对一个"偏文字"的站点来说,这些恰好都不重要。

写作流程

发布一篇文章,只需要三步:

# 1. 在服务器上新建一篇 Markdown
vi /var/www/site/content/posts/my-new-post.md

# 2. 重新构建(会输出到 /var/www/site/public)
cd /var/www/site && hugo --minify

# 3. 完成,刷新页面即可

文章开头的 Front Matter 长这样:

---
title: "文章标题"
date: 2026-10-05
tags: ["标签一", "标签二"]
description: "一句话摘要,会显示在列表页和搜索结果里。"
---

如果懒得登录服务器,也可以在本机用编辑器写好,再同步上去:

rsync -av ~/my-site/content/ root@bwh.alexzcl.top:/var/www/site/content/
ssh root@bwh.alexzcl.top "cd /var/www/site && hugo --minify"

关于排版

中文排版有几处容易被忽略的细节,这套模板已经处理好了:

行高调到 1.85,字号 17px 上下,每行控制在 35 个汉字左右——这是长时间阅读最舒服的区间。中英文之间会自动留出细微间距,标点不出现在行首。

正文用衬线字体,标题和界面用无衬线,字号、行距、段间距都按中文的密度重新调过。深色模式跟随系统,也可以点右上角的按钮手动切换,选择会记住。

后面会慢慢往里填东西。先把灯打开,再谈要写什么。