19 10 月 2026
动态博客(WordPress/Typecho)功能全但要数据库、要 PHP、要防扫描;纯写作 + 展示的场景,静态博客是降维打击:无数据库、无后端、兆级带宽都压不垮、Git 即后台。Hugo 是其中的速度之王。平台选型全景见个人博客平台怎么选。

一、静态博客 vs 动态博客:先想清楚再选

静态(Hugo 等)动态(WordPress/Typecho)
组成纯 HTML 文件 + NginxPHP + MySQL + Web 服务
速度极致(无渲染无查询)取决于优化
安全面几乎没有(没有可执行入口)PHP/数据库/插件全是攻击面
后台本地 Markdown + GitWeb 后台
评论/搜索接第三方或静态方案插件即得
服务器要求任意能放文件的地方要 PHP + 数据库环境
适合技术博客、文档、作品集要后台编辑、多人协作

判断标准:内容是"写给人看"的(文章、文档)→ 静态;需要"读者参与"(评论、投稿、会员)→ 动态。本站(z0w.cn/wiki)本身就是 Typecho 动态站,但技术文档类子站完全可以用 Hugo——两者可以并存。

二、Hugo 是什么:为什么是它

静态博客生成器(SSG)里 Hugo 的特点是快——几百篇文章毫秒级构建,其他生成器要几秒到几十秒。单二进制、无依赖、跨平台:

# 安装(以 Linux amd64 为例,去 GitHub Releases 下对应版本)
wget https://github.com/gohugoio/hugo/releases/download/v0.140.0/hugo_0.140.0_linux-amd64.tar.gz
tar -xzf hugo_0.140.0_linux-amd64.tar.gz hugo
mv hugo /usr/local/bin/
hugo version

Windows/Mac 也有对应二进制,或用包管理器(brew install hugo)。

三、建站:五分钟从零到首页

# 1. 建站(会生成完整目录结构)
hugo new site myblog
cd myblog

# 2. 装主题(以 PaperMod 为例,社区主题最全的一类)
git init
git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod

# 3. 配置主题
echo 'theme = "PaperMod"' >> hugo.toml

# 4. 写第一篇文章
hugo new posts/hello.md
# 编辑 content/posts/hello.md,把 draft: true 改成 false

# 5. 本地预览
hugo server -D    # 打开 http://localhost:1313

# 6. 构建发布
hugo              # 生成 public/ 目录,全是静态文件

就这些。public/ 目录就是完整网站,扔到任何 Web 服务器都能跑。

常用命令

hugo new posts/新文章.md      # 新建文章(用主题的 archetype 模板)
hugo server -D                # 本地预览(含草稿,改文件自动刷新)
hugo --minify                 # 构建并压缩 HTML/CSS/JS
hugo new theme my-theme       # 进阶:自己搓主题(一般用现成的)

四、主题与配置速查

主题去哪找:themes.gohugo.io,几百个任选。中文博客推荐 PaperMod、Stack、DoIt;文档类推荐 Book、Relearn。

hugo.toml 核心配置项:

baseURL = 'https://blog.yourdomain.com'   # 必改,影响绝对链接
languageCode = 'zh-CN'
title = '我的博客'
theme = 'PaperMod'

[params]
  author = '你'
  description = '写代码和生活的的地方'

[menu]
  [[menu.main]]
    name = '首页'
    url = '/'
    weight = 1
  [[menu.main]]
    name = '归档'
    url = '/archives/'
    weight = 2

文章头部(front matter):

---
title: "文章标题"
date: 2026-10-19
tags: ["技术", "教程"]
categories: ["博客"]
draft: false        # true = 草稿,hugo server -D 才可见
---

五、部署:三种方式按需选

方式 1:自己的服务器 + Nginx(本文推荐)

# 本地构建后 rsync 到服务器
rsync -avz --delete public/ root@服务器IP:/var/www/blog/

# 服务器 Nginx 配置极简(静态站没有 PHP 那一套)
server {
    listen 443 ssl;
    server_name blog.yourdomain.com;
    root /var/www/blog;
    index index.html;

    ssl_certificate     /etc/nginx/ssl/blog.yourdomain.com.pem;
    ssl_certificate_key /etc/nginx/ssl/blog.yourdomain.com.key;

    location / {
        try_files $uri $uri/ =404;
    }
}

Nginx 基础见Nginx 安装与配置,HTTPS 证书见SSL 证书完全指南。

成本彩蛋:静态站资源消耗约等于零,2核2G 轻量服务器能挂十几个静态站——每个站一个 Nginx server 块 + 一个目录的事。想更省,直接上 CDN/对象存储,源站钱都省了,见静态网站 CDN 部署。

方式 2:GitHub Pages / Vercel / Netlify

代码推 GitHub,平台自动构建发布,零服务器成本。适合不想维护机器的场景,缺点是国内访问速度看脸,自定义域名要会配 DNS(DNS 记录指南)。

方式 3:CI 自动部署

git push → 自动构建 → 自动发布到服务器,懒人终极形态。用 GitHub Actions 或自建 CI,完整流水线见CI/CD 自动化部署指南。核心就三步:装 Hugo → hugo --minify → rsync public/ 到服务器。

六、静态站的 Swiss Army Knife

没数据库不代表没功能,全都有替代方案:

需求静态方案
评论Giscus(GitHub Discussions)/ Disqus / Waline
搜索页面内 JS 搜索(fuse.js)/ Pagefind
统计Umami 自托管
图片压缩后提交,或对象存储 + CDN(图片优化)
域名/HTTPSacme.sh 自动续期(SSL 指南)
备份Git 就是备份,push 即异地

评论用 Giscus 的方案额外红利:评论数据在 GitHub,无广告、无追踪、静态站最后的"动态"拼图。

七、常见问题排查

症状原因解决
页面 404baseURL 错 / 文件名大小写检查 hugo.toml 的 baseURL;Linux 大小写敏感
主题不生效submodule 没拉 / theme 名错git submodule update --init;核对目录名
本地好着线上样式丢CSS 相对路径 / baseURL用绝对路径引用资源
构建越来越慢图片全在仓库里大图挪对象存储 + CDN
草稿意外发布draft: false 忘了改发布前 hugo 后检查 public/
文章顺序乱date 字段问题检查 front matter 的 date

八、和 Typecho 的分工建议

如果你像本站一样已有一个动态站,Hugo 的定位建议:

  • Hugo 放:技术文档、API 文档、更新日志、作品集——写完即发、要速度、不怕没后台
  • Typecho/WordPress 放:需要后台随时改、多人协作、评论互动的主站
  • 两个站之间互相内链,SEO 互补;静态文档站还可以直接用 MkDocs/VuePress(文档专用 SSG,比 Hugo 更开箱即用)

结语

Hugo 把博客还原到本质:Markdown 进,HTML 出,Git 管版本,Nginx 只负责发文件。没有数据库要备份、没有 PHP 要打补丁、没有后台要被扫——对于"我只是想安静写字"的人,这就是最优解。五分钟建站,然后把时间花在内容上。

需要放静态站的服务器,可以看看财富云计算:NAT 型云服务器低配就够、SSD 系统盘,一台机器挂多个静态站毫无压力,价格比独立 IP 机型省一半以上——"吃带宽不吃公网 IP"的纯展示场景,NAT 型刚好对症。

延伸阅读
  1. Homepage 个人仪表盘:把散落各处的服务收进一个首页
  2. SSL 证书完全指南:免费证书、自动续期与不过期监控
  3. 数据备份体系完全手册:从随手拷到 3-2-1,让数据永远丢不了
  4. 压测与容量规划:上线前就知道你的服务器能扛多少人
  5. AdGuard Home 内网 DNS:全家去广告、防劫持、内网解析一站解决
  6. 安全应急响应完全手册:服务器被入侵后,按这个流程走
  7. 游戏服运营完全手册:从开服到停服,把一台服务器运营成百年老店
  8. Loki 日志体系搭建:轻量级日志聚合,Grafana 里查遍所有服务器
更多阅读
  1. 上一篇:安全应急响应完全手册:服务器被入侵后,按这个流程走
  2. 下一篇:AdGuard Home 内网 DNS:全家去广告、防劫持、内网解析一站解决
发表评论 1

取消回复