Skip to content

第49课 · 零成本搭建并上线个人博客

前面数据驾驶舱那几节课,我们把系统部署到了自己购买的服务器上。但如果你只是想搭一个博客、文档站之类的小网站,其实一分钱都不用花

这节课我们从零开始:用 Hugo 搭一个博客 → 免费部署到 Cloudflare → 绑一个免费域名,全部走通。整个方案零成本——写作工具免费、托管免费、连域名都能白嫖。

为什么要搭博客?

你可能会想:我又不想当博主,这跟我工作有什么关系?

实际上,审计/财务人员搭博客有几个很实在的好处:

  • 逼自己学习:能写清楚,才算真懂。分享是最好的学习方法
  • 专业知识沉淀:审计心得、实操经验写成文章,比 Word 文档更好检索和分享
  • 打造个人 IP:不管是公众号还是博客,持续输出会有更多机遇找上门
  • 求职加分项:跳槽时甩一个链接给 HR,比简历上写"精通 Excel"有说服力得多
  • 甚至能赚钱:做得好了,付费咨询、培训、合作都会来

这节课教的静态网站部署技能也不只用于博客——你做的任何工具、文档站、作品集,都能用同样的方式免费上线。


本节要点

  • 静态网站 vs 动态网站:搞清楚博客该用哪种,为什么不用买服务器
  • Hugo:最快的静态网站生成器,你写 Markdown,它帮你生成一整套网页
  • Cloudflare Pages:免费托管平台,把网站放到全球服务器上,自带 HTTPS
  • 让 AI 全自动搭建+部署:一句话需求,AI 帮你装环境、建站、上线
  • 免费域名:用 DNSHE 注册免费域名,绑定到博客,地址更好记、国内访问更稳
  • 几个关键概念:域名、DNS、名称服务器(NS)、CNAME——一次讲明白

1. 静态网站 vs 动态网站

先搞清楚一个最基础的概念。

还记得第28课部署数据驾驶舱时,要连服务器、配 Nginx 吗?因为数据驾驶舱是个动态网站——每次点击、查询,都要去请求服务器上的数据库。

博客不一样。你写完一篇文章,内容就固定了,不需要每次访问都查数据库。这种场景适合静态网站

动态网站静态网站
打个比方餐厅点菜,厨师现做便利店买便当,做好放着
内容来源每次从数据库读取提前生成好的 HTML 文件
需要数据库✅ 需要❌ 不需要
需要服务器✅ 需要(一直跑着)❌ 不需要(文件放哪都行)
速度中等极快(直接返回文件)
适合场景数据驾驶舱、审批系统、ERP博客、文档站、作品集

你现在看的这个课程网站,本身就是一个静态网站。

静态网站的好处很明显:不需要买服务器、不需要配数据库、速度还快。所以搭博客,我们用静态网站的方案。

动态网站也能免费搭

Cloudflare 其实连动态网站也支持,它甚至提供免费的数据库(比如 Dune、第三方的 Supabase)。比如这个课程网站的「许愿墙」功能,背后就是用免费的 Supabase 存数据。这些后续可以慢慢探索,这节课先从最简单的静态博客开始。


2. 三个核心工具

整个方案就三个工具,全是免费的:

工具作用类比
Hugo生成网站把你写的 Markdown「排版」成一整套网页
Cloudflare Pages托管网站把网页放到互联网上,别人能访问
域名网站地址门牌号,比如 nigo.cc.cd

2.1 Hugo:静态网站生成器

Hugo 是最快的静态网站生成器。你只管写 Markdown 文章,它帮你:

  1. 把 Markdown 转成 HTML
  2. 套上主题模板(布局、配色、字体)
  3. 生成首页(文章列表)、归档页、标签页、搜索页
  4. 生成 RSS 订阅源、站点地图

你得到一整套可以直接部署的网页文件。 几千篇文章也是毫秒级生成。

选 Hugo 的理由:

  • :毫秒级生成,几千篇文章一眨眼
  • 单文件安装:装一个程序就够,不依赖一堆环境
  • 主题多:几百套免费主题随便挑
  • 跨平台:Mac、Windows、Linux 都支持

2.2 Cloudflare Pages:免费托管

Cloudflare 是全球最大的网络基础设施公司之一。你可能没用过它,但你平时访问的网站里,很多的安全验证、加速服务都是它家提供的。

Cloudflare Pages 是它的免费静态网站托管服务:

  • 免费:个人博客的流量完全够用,一分钱不花
  • 自带 HTTPS:自动配好安全证书,不用自己申请
  • 全球 CDN:网页放在全球服务器上,访问快
  • 不用配服务器:文件传上去就能访问,不用装系统、配 Nginx

2.3 域名:你的网站地址

部署成功后,Cloudflare 会送你一个免费地址,长这样:你的项目名.pages.dev。能用,但有点长,而且 .pages.dev 这个后缀国内访问有时不稳定

解决办法是绑定一个自己的域名(比如 nigo.cc.cd),地址更好记,国内访问也通常更稳。这节课后面会讲怎么免费注册域名并绑定。


3. 选一个喜欢的主题

博客的外观由「主题」决定。Hugo 有几百套免费主题,先挑一个你喜欢的。

打开 Hugo 主题站(国内镜像,打开快):

🔗 https://themes.gohugo.io.cn

为什么用这个地址

Hugo 官方主题站是 https://themes.gohugo.io ,但它在国外,国内有时打不开或很慢。themes.gohugo.io.cn 是国内镜像,内容一样,打开快得多。

在主题站里逛逛,看哪个顺眼。这节课我们用 PaperMod 这个主题演示——它轻量、干净、功能全,很适合做博客。你也可以选别的(比如 LoveIt、Stack 等),流程都一样。

主题怎么选?
  • PaperMod:简洁现代,加载快,功能够用(本课演示用这个)
  • LoveIt:功能丰富,自带评论、搜索,适合内容多的博客
  • Stack:卡片式布局,适合图文并茂

没有最好的主题,只有最适合你的。先随便选一个开始,以后随时能换——换主题不用改文章内容


4. 让 AI 帮你搭建博客(推荐方式)

既然你在学 AI 编程,最省事的方式是直接让 AI 帮你从头搭好。手工步骤我们放在后面讲,先体验 AI 全自动的爽感。

4.1 新建一个博客文件夹

随便找个地方,新建一个文件夹,将来它就是你的博客项目。比如在桌面建一个 我的博客 文件夹。

4.2 打开 OpenCode,提需求

在这个文件夹里打开 OpenCode(第1课装过的),直接用大白话说你的需求:

我想用 Hugo 来制作一个自己的博客网站,然后使用 PaperMod 的主题。做好了之后,我想部署到 Cloudflare 这个网站里面,免费的。

怎么说都行

不用记什么固定格式。把你的需求说清楚就行——用什么工具、什么主题、部署到哪里、要不要免费。AI 会自己理解、查文档、规划步骤。

4.3 AI 会做什么

把需求发给它后,AI 会:

  1. 探索环境:检查你电脑上 Hugo、Git、Node.js 这些装了没有,没装就帮你装
  2. 查文档:搜索 Hugo 和 Cloudflare 的最新用法(确保步骤不过时)
  3. 问你几个问题:比如部署方式、站点基本信息

4.4 两个关键选择

AI 会问你两件事,提前想好答案:

① 部署方式:选哪个?

方式说明适合谁
Wrangler 直接上传(本课演示)AI 用命令行工具直接把网站传上去想快速上线、没用 Git 管理的
Git 集成自动部署你把博客 push 到 GitHub,Cloudflare 自动部署博客用 Git 管理的人

平时更推荐 Git 集成

如果你已经把博客用 Git 管理起来了(第20课),更推荐 Git 集成方式——以后写完文章 push 到 GitHub,Cloudflare 自动部署,文章不会丢,还有版本历史。

不过 GitHub 在国内有时连不上,需要用国内镜像。这节课为了演示完整流程,先用 Wrangler 直接上传。

② 站点基本信息:填你自己的

AI 会问博客名、副标题、作者名。比如:

  • 博客名:逆行的狗
  • 副标题:一条狗的逆行
  • 作者:nigo

填你自己的就行,以后随时能改。

顺便说一下:思考过程(thinking)能开关

你可能会看到 AI 输出一长串「思考过程」。这是它的推理过程,不影响结果。嫌长可以用命令关掉,需要时再打开——这是 OpenCode 的一个设置,问 AI 怎么开关即可。

4.5 AI 自动执行

回答完问题,AI 就开始干活了。它会:

  1. 创建 Hugo 站点骨架
  2. 用国内镜像下载 PaperMod 主题(GitHub 直连不通时自动用镜像)
  3. 配置 hugo.toml(博客名、作者、菜单等)
  4. 写一篇示例文章
  5. 本地构建验证(生成 20 来个页面)

GitHub 在国内经常连不上

AI 去下载 Hugo 主题时,如果卡在 GitHub(直连不通),告诉它:「GitHub 你可以使用国内镜像源」。它会换成国内镜像(如 ghfast.top)重新下载,很快就能成功。

4.6 环境检查清单

AI 在搭的过程中,会帮你确认这些工具都装好了。如果某个没装,它会帮你装:

工具作用安装命令(Mac)
Hugo生成网站brew install hugo
Git版本管理(下载主题要用)brew install git
Node.js运行 Wrangler第4课
Wrangler部署到 Cloudflarenpm install -g wrangler

Windows 用户:Hugo 用 choco install hugo-extended,Git 去 https://git-scm.com 下载。


5. 注册 Cloudflare 账号

部署前,你需要一个 Cloudflare 账号。

  1. 打开 https://dash.cloudflare.com/sign-up
  2. 邮箱注册,或者用 GitHub / Google 账号快捷登录(更方便)

别用百度搜

要注册 Cloudflare,直接在浏览器地址栏输入上面的网址。别在百度里搜「Cloudflare」——搜出来一堆广告,容易点错。地址栏直接输入网址最靠谱。

注册完,你就有 Cloudflare 账号了。后面部署时 AI 会让你授权一次(点一下 Allow 就行)。


6. 部署上线

账号有了,让 AI 继续部署。它会执行这几步(你也可以让 AI 一步步教你手工操作,效果一样):

6.1 让 AI 部署

直接对 AI 说:

帮我把博客部署到 Cloudflare Pages

AI 会:

  1. hugo 命令重新构建网站
  2. wrangler pages deploypublic/ 目录传到 Cloudflare
  3. 首次会弹出浏览器让你授权登录——点 Authorize / Allow 就行
  4. 上传完成,给你一个网址

整个过程你只点了一下授权,剩下全是 AI 自动完成。

6.2 访问你的博客

部署成功后,AI 会给你一个地址,类似:

https://你的项目名.pages.dev

浏览器打开,你的博客就上线了!把链接发给别人,全世界都能访问。

6.3 想手工部署?命令长这样

了解原理的话,手工部署就四步:

bash
npm install -g wrangler                  # ① 安装部署工具(只需一次)
wrangler login                            # ② 登录授权(只需一次,会弹浏览器)
hugo                                      # ③ 构建网站
wrangler pages deploy public --project-name 你的项目名   # ④ 部署上线

以后每次写完新文章,只需要重复第 ③④ 步:

bash
hugo
wrangler pages deploy public --project-name 你的项目名

Hugo 生成是毫秒级,上传也就几秒,整个流程不到一分钟。

6.4 几个能继续优化的地方

博客上线后,你会发现有些地方还不完美,都可以让 AI 帮你改:

  • 搜索功能用不了:问 AI「搜索怎么才能用」
  • 社交媒体链接:在 hugo.toml 里配上你的 GitHub、公众号等
  • 菜单、配色、字体:告诉 AI 你想要什么样的,它帮你调

这些都是小调整,不用重新走整个流程。


7. 注册免费域名并绑定

你的博客现在能访问了,但地址是 xxx.pages.dev,又长,国内访问还可能不稳。下面我们绑定一个免费的自有域名

先讲清楚几个概念,不然后面的操作会懵。

7.1 几个必须懂的概念

概念通俗解释
域名网站地址,比如 nigo.cc.cd。就像你家的门牌号
子域名域名前面加前缀,比如 bbs.auditdog.cnmusic.auditdog.cn。一个主域名能配出无数个子域名
DNS 解析把域名翻译成服务器 IP 地址的过程,相当于「查通讯录」
名称服务器(NS)告诉互联网「这个域名归谁管」。把 NS 指向 Cloudflare,就是让 Cloudflare 帮你管这个域名的所有解析
CNAME 记录DNS 里的一种记录,作用是「把一个域名指向另一个域名」,比如把 nigo.cc.cd 指向 你的博客.pages.dev

理解了这些,后面的操作就顺理成章了。

7.2 域名从哪来?三种方案

方案费用特点
DNSHE 免费域名(本课演示)免费国内能访问、注册快;到期前需续期,可找自动续签工具
国内厂商付费域名(腾讯云/阿里云)首年 1 元起,续费几十/年稳定、好名字多、需实名认证
直接用 Cloudflare 默认域名免费不用折腾,但 .pages.dev 国内访问不稳

之前教程里的免费域名网站打不开?

旧的文字版教程推荐过 DigitalPlat(register.dpdsn.org)注册 .dpdns.org 域名,但这个网站在国内打不开。所以本课改用 DNSHE,国内能正常访问。

7.3 方案一:DNSHE 注册免费域名

DNSHE 是一个国内能访问的免费域名平台。注册流程:

  1. 注册账号:打开 https://my.dnshe.com/ ,用邮箱注册(支持谷歌、微软、腾讯、网易等邮箱)
  2. 邮箱验证:填验证码完成验证
  3. 注册前验证:免费域名需要先验证身份——用 GitHub 快捷认证(没邀请码的话选这个)
  4. 选根域名后缀:有 cc.cdddns.netbot.cd 等可选。这些后缀都不算「好域名」,但白嫖嘛,够用
  5. 输入你想要的前缀:比如 nigo,组合起来就是 nigo.cc.cd
  6. 完成注册

注册额度不够?用专属兑换码 AUDITDOG 额外领 +2

DNSHE 免费域名的注册额度有限。我(狗哥)已经和官方联网申请了课程专属额度,你在「域名管理 → 奖励中心 → 额度兑换」里输入兑换码,每人可额外获得 +2 注册额度

兑换码:AUDITDOG

输入位置:域名页面 → 奖励中心 → 额度兑换

每位用户可使用一次。

DNSHE 奖励中心——额度兑换

除了兑换码,奖励中心里还有几个任务(绑定 TOTP、完善资料、分享 X.com、Star GitHub 仓库等),完成都能领注册额度,多多益善。

免费域名要记得续期

DNSHE 的免费域名不是永久有效——到期前一段时间(约 180 天)需要手动续期。忘了续就失效了。

解决办法:在 GitHub 上搜「DNSHE 自动续签」,有现成的自动续签助手项目,配置好后能自动帮你续,省得记日子。

7.4 方案二:国内厂商买付费域名(更稳)

如果你不想折腾免费域名的续期,花点小钱买个付费域名更省心:

价格不贵,几十到一百多一年。买完在「DNS 解析」里,可以把主域名配出各种子域名,比如 bbs.你的域名 给论坛、music.你的域名 给音乐站——一个域名的钱,配出无数个地址。

买完域名后,告诉 AI:「我在腾讯云买了域名 XXX,要绑定到我部署在 Cloudflare 的博客,怎么做?」AI 会一步步教你。


8. 把域名绑定到博客

注册好域名后,分三步把它接到博客上。这步可以手工操作,也可以让 AI 代劳——先讲手工,原理清楚了让 AI 做更放心。

8.1 第一步:把域名添加到 Cloudflare

  1. 登录 Cloudflare:https://dash.cloudflare.com
  2. 添加站点 / Add a site(或「连接域名」)
  3. 输入你的域名(比如 nigo.cc.cd
  4. Free 免费计划
  5. 一路继续,到「继续前往激活」
  6. Cloudflare 会给你两个名称服务器(NS),长这样:
    aida.ns.cloudflare.com
    devin.ns.cloudflare.com

这两个 NS 是什么

这是 Cloudflare 分配给你域名的「管家」。下一步你要去域名注册商那里,把域名的管家改成这两个,Cloudflare 才能接管你的域名。

8.2 第二步:去注册商改名称服务器

回到 DNSHE(或你买域名的平台),找到域名的 NS / 名称服务器设置(注意:是改「名称服务器」,不是「DNS 记录/解析记录」):

  1. 把原有的 NS 替换成 Cloudflare 给的那两个
  2. 保存

别改错了地方

要改的是**「名称服务器 / Nameservers」**,不是「DNS 记录」「解析记录」。这两个是不同的东西:

  • 名称服务器:决定「整个域名归谁管」——这个要改成 Cloudflare 的
  • DNS 记录:具体的解析规则——这个不用你管,Cloudflare 接管后会自动配

8.3 第三步:回 Cloudflare 激活

  1. 回 Cloudflare,点 「我已更新名称服务器」「立即检查名称服务器」
  2. 等几分钟(可能显示「名称服务器无效」,刷新几次就好)
  3. 状态变成 Active(活跃)就成功了

8.4 第四步:绑定到 Pages 项目

域名托管到 Cloudflare 后,把它连到博客:

  1. Cloudflare 左侧菜单 → Workers 和 Pages
  2. 点进你的博客项目(比如 nigo-blog
  3. 顶部 自定义域 / Custom domains设置自定义域
  4. 输入你的域名(比如 nigo.cc.cd)→ 继续

Cloudflare 会自动添加所需的 CNAME 记录,并自动签发 HTTPS 证书(几分钟)。

不想手工?让 AI 做

绑定这步,直接告诉 AI:「我在 Cloudflare 已经添加了 nigo.cc.cd,帮我绑定到博客」。AI 能用它的工具自动完成域名绑定、加 CNAME 记录,你只需要去注册商改 NS(这一步 AI 没权限,必须你手工)。

8.5 最后:更新 baseURL 并重新部署

绑定成功后,把 hugo.toml 里的 baseURL 改成你的新域名:

toml
baseURL = "https://nigo.cc.cd/"

然后让 AI 重新构建部署(或手工 hugo + wrangler pages deploy)。等证书签发完,打开 https://你的域名,博客就用上了你自己的专属地址。

baseURL 是什么?为什么重要

baseURL 是你博客上线后的网址。Hugo 生成的所有链接(文章页、CSS、字体)都基于它。写错了网站会显示空白或样式乱掉。换域名后一定要同步改这里。


9. 后续:把博客变成日常工具

博客搭好上线,只是开始。接下来你可以让它更好用:

9.1 用 Skill 把写作流程自动化

以后写博客,手动复制粘贴很烦。你可以让 AI 做一个 Skill 工作流

我以后要写这个博客,文章文件怎么放?帮我做一个 Skill 工作流。

这样你用 Markdown 编辑器(Typora、Obsidian 等)写完,调用这个 Skill,它自动把文章放到正确位置、构建、部署到 Cloudflare,全自动。

9.2 在 Obsidian 里直接写

如果你用 Obsidian 记笔记(比如我平时把微信公众号文章写在 Obsidian 里),配合 AI 插件,可以直接在 Obsidian 里调用 AI 帮你写、写完一键发布到博客或公众号,全程不用切换工具。

9.3 这套技能还能干什么

这节课的方案不只能搭博客:

  • 文档站:项目交付文档、操作手册,放一个链接比发一堆 PDF 方便
  • 作品集:求职时展示自己的项目
  • 小型系统:配合免费数据库,也能搭需要交互的小工具

核心都是「静态网站 + Cloudflare 免费托管」这套组合拳。


常见问题

部署后网站显示空白 / 样式乱了

原因baseURL 配置错误——这是最常见的问题。

解决:检查 hugo.toml 里的 baseURL,确保和你的实际地址完全一致(含 https://)。改完重新 hugo 构建并部署。

GitHub 连不上,主题下载失败

原因:GitHub 在国内经常连不上。

解决:告诉 AI「GitHub 用国内镜像源」,它会换镜像(如 ghfast.top)重新下载。

.pages.dev 国内打不开 / 很慢

原因:Cloudflare 默认域名在国内访问不稳定。

解决:按第7、8节绑定一个自己的域名,通常能明显改善。

自定义域名显示错误 / 打不开

原因:DNS 还没生效,或证书还在签发。

解决

  1. 确认 Cloudflare 里域名状态是 Active
  2. 确认 NS 已经在注册商改好
  3. 等待 DNS 传播和证书签发(通常几分钟到几十分钟)
  4. 在 Pages 的「自定义域」页面看域名状态

免费域名过期了

原因:DNSHE 免费域名需要定期续期,忘了就失效。

解决:到期前去 DNSHE 手动续期,或配置 GitHub 上的「DNSHE 自动续签」工具。


小结

这节课你完成了从零到上线的完整闭环:

  1. 搞懂了静态网站:博客用静态网站,不用买服务器、不用数据库
  2. 认识了三个工具:Hugo(生成网站)、Cloudflare Pages(免费托管)、域名(地址)
  3. 让 AI 全自动搭建:一句话需求,AI 帮你建站、配置、部署
  4. 博客上线:访问 xxx.pages.dev 就能看到你的博客
  5. 绑定免费域名:DNSHE 注册免费域名 → 改 NS 托管到 Cloudflare → 绑定 Pages 项目
  6. 零成本闭环:Hugo(免费)+ Cloudflare Pages(免费)+ DNSHE 域名(免费)

整个流程不花一分钱,你就拥有了一个专属的、全世界都能访问的个人博客。更重要的是,你掌握了「静态网站 + 免费托管」这套技能——以后任何文档站、作品集、小工具,都能用同样的方式免费上线。

© 2025 逆行的狗