部署 Hugo 站点
Go 驱动 SSG,亚秒构建,public/ 输出部署到任何静态主机。
平台入门
为什么
Hugo 是最快 SSG — 1 秒内构建 1000+ 页面。Go 编写单二进制,无运行时依赖,原生支持短代码、分类和多语言内容。
平台即服务采用率 2024 年增长 24%,团队从虚拟机管理转向 git push 部署。the cloud infrastructure market reached $330B in 2024, growing 22% year-over-year (Synergy Research),PaaS 层捕获了大多数新工作负载。
何时使用
构建速度重要的大型博客、文档和内容站点用 Hugo。需要 React 交互时避免 — 用 Astro。
如何做
1. 构建 — hugo --minify 输出 public/
2. 部署 — 上传 public/ 到任何静态主机
3. 配置 — hugo.toml 配 base URL、主题、参数
4. 主题 — git submodule add 主题,配置中设置
5. Base URL — 设为你的域名以正确资源路径
6. 多语言 — hugo.toml 配置 languages
示例
# hugo.toml
baseURL = "https://myapp.com/"
languageCode = "en-us"
theme = "papermod"
title = "My Site"
# 部署到 Netlify
[build]
command = "hugo --minify"
publish = "public"
# 部署到 Cloudflare Pages
# 构建命令:hugo --minify
# 输出目录:public
常见问题
- ⚠资源 404 — baseURL 未设为实际域名,用 localhost
- ⚠主题未找到 — git submodule 未初始化,运行 git submodule update --init
- ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致
最佳实践
- ✓构建用 --minify — 生成更小 HTML/CSS/JS 加速加载
- ✓主题用 git submodule 管理 — 主题版本化可复现
- ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求