想写点东西、做个作品集,又不想每年掏几百块服务器费用?今天我给你一个真正零成本、零维护的方案,而且全程基本傻瓜式操作。
经常有朋友问我:想搭个个人网站或者博客,该买什么主机?WordPress 还是用什么系统?有没有省心又便宜的办法?
我的回答一直都很直接:如果你不搞电商、不需要会员登录,只是想安安静静写点技术文章、展示自己的作品,那么别折腾服务器了,直接用 GitHub Pages。

为什么我不推荐你一开始就买服务器?
很多新人一上来就跑去买 VPS、买虚拟主机,一年几百上千,结果网站还没写几篇文章,服务器就已经在角落里吃灰了。更崩溃的是,你还得学 Linux 命令、配置 Nginx、防攻击、搞备份……写博客的初衷早就被消磨光了。
所以我的观点很明确:个人博客,能静态就静态,能免费就免费。等你真正有需要了,再考虑升级。
而 GitHub Pages 这套方案,几乎就是为了“零成本开博”而生的。
GitHub Pages 到底香在哪?
简单说,它就是 GitHub 给你提供的免费网页托管服务。你只要有一个 GitHub 账号,就能拥有一个属于自己的网站。它给你多少免费额度呢?我列几个关键的:
-
存储空间 1GB(纯文字+少量图片,够你写几百篇)
-
月流量 100GB(相当于每天两三万个人看你文章,绰绰有余)
-
自动帮你配上 HTTPS 证书(就是那个小锁图标)
-
支持绑定自己的域名
最最重要的是:完全免费,没有套路。
那它适合放什么内容?
✅ 个人博客
✅ 项目文档
✅ 简历/作品集
✅ 开源项目的演示页
不适合什么?带数据库的、需要用户登录的、或者像 WordPress 那样的动态网站。静态博客就是它的主战场。
搭建之前,你需要准备两样东西
-
一个 GitHub 账号
去 github.com 注册就行,选免费计划。如果你是在校学生,强烈建议申请 GitHub 学生包,还能白嫖 Copilot 等一堆工具。 -
本地装上 Git 和 Hugo(后面会用到,不复杂)
-
Git 不用多说,版本控制必备。
-
Hugo 是目前最快的静态网站生成器,用 Markdown 写文章,几秒就能生成整个网站。
-
好了,工具齐了。下面我手把手给你三种搭建方式,从最简单的到最省心的,你可以根据自己的情况挑。
方式一:五分钟上线一个简单网站(纯手工版)
如果你只是想快速做一个类似“名片”的页面,比如放个自我介绍、一张照片、几个链接,那这种方式最快。
-
在 GitHub 上新建一个仓库,名字必须是:你的用户名.github.io
比如我的用户名是guanghe,仓库名就是guanghe.github.io。 -
在仓库里创建一个
index.html文件,写上你想展示的内容,哪怕只是一句“Hello World”。 -
进入仓库的 Settings → Pages,把 Source 选为
Deploy from a branch,分支选main,根目录,保存。 -
等一两分钟,访问
https://你的用户名.github.io,你的网站就上线了。
就这么简单。它适合对样式没太多追求,只需要一个简单门面的朋友。
方式二:用 Hugo 搭一个正经的博客(手动部署版)
如果你希望有一个真正的博客,能按标签分类、有文章列表、支持搜索和评论,那就要用到 Hugo 了。
大概流程是:
-
本地装好 Hugo
-
执行
hugo new site my-blog创建一个新站点 -
安装一个你喜欢的主题(我比较推荐 PaperMod,简洁、现代)
-
用
hugo new posts/第一篇文章.md写 Markdown -
本地运行
hugo server预览效果 -
确认没问题后,执行
hugo命令,会在public目录生成所有静态文件 -
然后你手动把
public目录下的内容 push 到之前那个你的用户名.github.io仓库
这样你的博客就有了。
但是——每次写完文章,你都得在本地执行 hugo,再手动推送 public 目录。说实话,有点麻烦。尤其当你用不同电脑写东西的时候,容易乱。
所以就有了第三种方式,也是我最推荐的方式。
方式三:用 GitHub Actions 实现全自动部署(最省心版)
这个方案的核心思想是:你只管写 Markdown,剩下的全交给自动化。
具体怎么玩呢?
-
你新建两个仓库:
-
一个叫
blog-source,用来放你的 Hugo 源码(包括主题、配置、文章) -
另一个就是之前的
你的用户名.github.io,用来放最终生成的网站文件(这个会由系统自动更新)
-
-
在
blog-source仓库里,创建一个 GitHub Actions 的配置文件,路径是.github/workflows/deploy.yml。
这个文件里写上一套指令(我会给你完整代码),它的作用就是:-
每次你把新的文章 push 到
blog-source仓库时 -
自动触发一个 Ubuntu 虚拟机
-
在里面安装 Hugo,执行
hugo构建 -
然后把生成的
public内容推送到你的用户名.github.io仓库 -
你的网站就自动更新了
-
-
最后到
你的用户名.github.io仓库的设置里,把 Pages 的部署源改成 GitHub Actions。
从此以后,你的日常就是:
hugo new posts/又是新的一篇.md # 写文章... git add . git commit -m "发了一篇新东西" git push
几分钟后,打开你的博客,新文章已经在那里了。是不是跟发朋友圈一样自然?
我强烈推荐新手朋友直接上第三种方式。 别觉得“还没学会走就想跑”,现在的教程已经非常成熟了,你只要照着代码复制粘贴,一次配置,终身享受自动化。
让博客更像个样子:域名、统计、评论、搜索
有了基本框架之后,我们还可以给博客加几个点睛之笔。
1. 绑定自己的域名
不绑域名的话,你的博客地址是 你的名字.github.io,虽然没问题,但不够专业。
去买个自己喜欢的域名(比如 .com 或者 .me),然后在 GitHub Pages 的设置里填上你的域名,再到你的域名 DNS 那里加几条解析记录,等它生效就行。
如果配合 Cloudflare 用,还能免费获得全球 CDN 加速和更稳定的 HTTPS。国内访问速度会明显提升。
2. 加个访问统计,看看多少人来看你了
在 Hugo 配置里加上你的 Google Analytics 跟踪 ID,几行配置的事。之后你就能看到每天有多少人点进来、从哪里来、看了哪些文章。
3. 评论系统用 giscus,免费且干净
很多第三方评论系统要么收费,要么到处是广告。我推荐 giscus,它基于 GitHub Discussions,完全免费、没有广告,而且读者可以直接用 GitHub 账号登录评论,对技术博客非常友好。
4. 站内搜索
PaperMod 这个主题本身就自带搜索功能,在配置文件里打开开关就行。不用依赖百度或 Google。
GitHub Pages、Vercel、Netlify,我该选哪个?
我知道有人会说:还有 Vercel 和 Netlify 也很香啊,怎么选?
我简单给你对比一下:
-
GitHub Pages:最老牌,与 GitHub 原生结合,完全免费额度足够个人博客。国内裸访问偶尔不稳定,配 Cloudflare 就解决了。
-
Vercel:对 Next.js、React 等前端框架支持极好,如果你不光写博客,还要展示自己的前端项目,选 Vercel。
-
Netlify:自带表单处理、简单的 Serverless 函数,适合需要“联系我”表单的场景。
我的建议很直接:
-
纯静态博客、文档 → GitHub Pages + Cloudflare,最简单、最省心。
-
你要展示 React/Vue 项目 → Vercel。
-
你需要表单提交、轻量后端逻辑 → Netlify。
它们三个都有免费套餐,足够个人使用。
常见问题,我先帮你踩掉坑
Q:国内访问 GitHub Pages 会不会很慢?
A:裸访问有时抽风。我的实践是:绑个自己的域名,然后套上 Cloudflare 的 CDN,速度就稳了。教程里我写了具体怎么操作。
Q:100GB 月流量够不够?
A:正常个人博客,一篇页面就算 1MB,一个月被访问 10 万次才 100GB。你初期一天能有几百人看就算很厉害了,完全不用担心。
Q:仓库超过 1GB 怎么办?
A:尽量别在仓库里放大图片。图片放到免费的云存储(比如 Cloudflare R2 或 GitHub 以外的图床),文章里用外链引用。这样仓库永远干干净净。
Q:能放广告或者做商业网站吗?
A:GitHub Pages 禁止高流量商业用途(比如电商、投放广告盈利),但放一个自己的“个人品牌网站”、“技术博客”、“开源项目页面”没有任何问题。
Q:我现在用的是 WordPress,能迁移过来吗?
A:有现成的插件 wordpress-to-hugo-exporter,可以把你的文章导出成 Markdown,再稍加整理就行。几百篇文章迁移起来也很快。
写在最后:你离一个属于自己的博客,只差动手这一步了
我见过太多人,心里一直想写东西,却卡在“买服务器、装环境”这一步,最后不了了之。
其实没必要,GitHub Pages + Hugo + GitHub Actions 这套方案,就是为你这种“想写内容但不想折腾技术”的人准备的。
-
零成本 —— 不用花一分钱
-
零维护 —— 不用管服务器宕机
-
全自动 —— 写完 push,自动上线
-
内容在你手里 —— 所有 Markdown 文件都是你的,随时可以搬到别的地方
你只要会写 Markdown(甚至你只用纯文本也行),会基础的 Git 操作(add、commit、push),30 分钟就能跑通整个流程。