

概述 #
本文详细记录了从零开始搭建 Hugo 静态博客的完整过程,包括环境部署、主题选择、配置优化等全过程。
环境准备 #
系统信息 #
- 操作系统: Debian 12 (bookworm)
- CPU: x86_64
- 内存: 1.6GB
- 磁盘: 40GB (已用 6GB)
安装 Hugo #
官方推荐安装方式:
# Ubuntu/Debian
sudo apt update
sudo apt install hugo
# 或使用 wget 下载最新版
cd /tmp
wget https://github.com/gohugoio/hugo/releases/download/v0.143.0/hugo_extended_0.143.0_linux-amd64.tar.gz
tar -xzf hugo_extended_0.143.0_linux-amd64.tar.gz
sudo mv hugo /usr/local/bin/
sudo chmod +x /usr/local/bin/hugo验证安装:
hugo version
# 输出: hugo v0.143.0-extended linux/amd64主题选择 #
主题对比 #
| 主题 | 优点 | 缺点 | 推荐指数 |
|---|---|---|---|
| Even | 简洁、响应式、中文友好 | 首页不显示文章列表 | ⭐⭐⭐⭐ |
| Beautiful Hugo | Bootstrap 设计、现代化 | 首页配置复杂 | ⭐⭐⭐ |
| Diary/Benben | 日记风格、简洁 | 主题不活跃 | ⭐⭐ |
选择 Even 的理由 #
- 代码简洁,易于定制
- 响应式设计,移动端友好
- 中文社区支持好
- 文档完善
项目初始化 #
创建新站点 #
# 创建项目目录
mkdir -p ~/domains/ai.mylog.vip
cd ~/domains/ai.mylog.vip
# 初始化 Hugo 站点
hugo new site .
# 添加 git 管理
git init
git submodule add https://github.com/olOwOlo/hugo-theme-even.git themes/even基础配置 #
hugo.toml 配置文件:
baseURL = "https://ai.mylog.vip"
languageCode = "zh-CN"
title = "你的博客名称"
theme = "even"
enableRobotsTXT = true
enableEmoji = true
hasCJKLanguage = true
archivePaginate = 50
[author]
name = "作者名"
[sitemap]
changefreq = "weekly"
priority = 0.5
filename = "sitemap.xml"
[params]
version = "4.x"
since = "2026"
logoTitle = "你的博客名称"
description = "博客描述"文章创建 #
创建新文章 #
# 创建文章
hugo new posts/my-first-post.md
# 或使用特定分类
hugo new posts/tech/my-article.md文章格式 #
---
title: "文章标题"
featured: true
date: 2026-03-08T10:00:00+08:00
type: "post"
categories: ["技术"]
tags: ["Hugo", "教程"]
featureimage: "/images/cover_20260310_140140.png"
showHero: true
description: "文章摘要"
---

文章内容...type 字段说明 #
Even 主题要求文章添加 type: "post" 才能正确识别:
# 批量添加 type 字段
for f in content/posts/*.md; do
if ! grep -q "^type:" "$f"; then
sed -i '1a type: "post"' "$f"
fi
done内容管理 #
文章分类 #
# 创建分类目录
mkdir content/posts/tech
mkdir content/posts/life
# 创建文章
hugo new posts/tech/hugo-tutorial.md
hugo new posts/life/my-story.md标签管理 #
# 创建标签页面
hugo new tags/my-tag.md域名与部署 #
Nginx 配置 #
server {
listen 80;
server_name ai.mylog.vip;
root /var/www/ai.mylog.vip/public;
index index.html;
location / {
try_files $uri $uri/ =404;
}
location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
expires 7d;
add_header Cache-Control "public, immutable";
}
}权限设置 #
# 创建目录
sudo mkdir -p /var/www/ai.mylog.vip
sudo cp -r ~/domains/ai.mylog.vip/* /var/www/ai.mylog.vip/
# 设置权限
sudo chown -R www-data:www-data /var/www/ai.mylog.vip
sudo chmod -R 755 /var/www/ai.mylog.vip/public/
sudo chmod -R 644 /var/www/ai.mylog.vip/public/*域名解析 #
在 DNS 服务商添加 A 记录:
ai.mylog.vip → 47.252.1.11重启 Nginx #
sudo nginx -t
sudo systemctl reload nginx常见问题 #
1. 权限问题 #
错误: stat() failed (13: Permission denied)
解决:
sudo chmod -R 755 /var/www/ai.mylog.vip/public/2. 404 错误 #
检查:
- Nginx root 路径是否正确
- public 目录是否有文件
- 文件权限是否正确
3. 文章不显示 #
检查:
type: "post"是否添加- Hugo 配置的
mainSections是否匹配 - 重新构建站点
构建脚本 #
创建自动构建脚本:
#!/bin/bash
# build.sh
cd /var/www/ai.mylog.vip
hugo --minify
# 清理旧文件(可选)
# find public -type f -mtime +30 -delete
echo "Build completed at $(date)"使用 cron 定时构建:
# 每天凌晨 2 点构建
0 2 * * * /var/www/ai.mylog.vip/build.shSEO 优化 #
sitemap.xml #
Hugo 自动生成,检查:
curl -s https://ai.mylog.vip/sitemap.xml | head -20robots.txt #
User-agent: *
Sitemap: https://ai.mylog.vip/sitemap.xml总结 #
本文档覆盖了 Hugo 博客的完整部署流程,从环境准备到域名配置,每一步都有详细说明。
下次更新: 2026-03-08
相关链接: