首页 / 工具箱 / 服务器工具箱 / Hugo

单二进制静态网站生成器。1.6 GiB 服务器实测:构建 39 个 HTML 页面在毫秒级,常驻进程 RSS 0。

解决什么问题

我需要一个能在低资源服务器上持续输出文章页面的工具。WordPress 太重,Hexo 冷启动依赖大,Hugo 一次构建出全部静态 HTML,部署只要把 public/ 放到任意静态服务后。

关键规格

  • Go 编译的单二进制;
  • 原生 Markdown + Front Matter + 分类/标签;
  • 构建时间与文章数大致线性,本项目 39 个 HTML 页实测毫秒级;
  • 无运行时进程。

实测结论

在 1.6 GiB 内存、无 Swap 的服务器上:

  • hugo --gc --minify 构建期间 RSS 峰值约 90 MiB;
  • 构建后无残留进程,内存回到 baseline;
  • 配套 Caddy 静态服务(见 Caddy 评测)常驻 RSS 约 18 MiB。

相比之下,Hexo 的 node 守护进程即便不工作也会吃 80–120 MiB,对这台机器来说没必要。

缺点限制

  • 模板语言有学习曲线,错误信息偏 Go 风;
  • 增量构建在大站点(> 5000 页)需要 --templateMetrics 调优;
  • 主题生态整体不如 Hexo/Jekyll 丰富——本项目不使用第三方主题,模板全部自包含在 layouts/。

替代方案

  • Jekyll:Ruby 工具链,依赖体积大;
  • Hexo:Node 生态,主题丰富但常驻进程重;
  • Pelican:Python 生态,单进程启动慢。

我的部署形态

1
2
3
4
5
6
7
8
content/      # Markdown
layouts/      # 自包含模板
hugo.yaml     # 站点配置
public/       # hugo 构建产物(gitignore)
↓
Caddyfile 指向站点目录下的 public/
↓
http://IP:8080 提供 39 个 HTML 页面

官方与文档

相关