如何从0用GitHub搭建自己的博客
前言
很多人都想拥有一个属于自己的博客,但又觉得搭建博客很复杂、需要花钱买服务器。其实,利用 GitHub Pages + Hexo,你可以完全免费地搭建一个功能强大、外观精美的个人博客,而且不需要任何服务器运维知识。
本文将带你从零开始,一步步搭建一个属于自己的博客。我会尽量写得详细,即使你是完全的新手,也能跟着操作完成。
一、准备工作
1.1 注册 GitHub 账号
GitHub 是全球最大的代码托管平台,我们的博客就托管在 GitHub 上。
- 访问 https://github.com
- 点击右上角 “Sign up”
- 输入邮箱、密码、用户名,完成注册
- 验证邮箱
注意:用户名很重要,因为你的博客地址会是
https://你的用户名.github.io。建议取一个简短好记的名字。
1.2 安装 Git
Git 是版本控制工具,用来把本地代码推送到 GitHub。
Windows:
- 访问 https://git-scm.com/download/win
- 下载并安装,一路默认即可
macOS:
1 | brew install git |
Linux(Ubuntu/Debian):
1 | sudo apt update |
安装完成后,配置 Git 用户信息:
1 | git config --global user.name "你的GitHub用户名" |
1.3 安装 Node.js
Hexo 是基于 Node.js 的静态博客框架,所以需要安装 Node.js。
- 访问 https://nodejs.org
- 下载 LTS(长期支持)版本
- 安装,一路默认即可
验证安装:
1 | node -v # 应显示 v18.x.x 或更高 |
二、Hexo 简介
Hexo 是一个快速、简洁且高效的博客框架。你用 Markdown 写文章,Hexo 会把它转换成静态 HTML 页面,然后部署到 GitHub Pages 上。
Hexo 的优点:
- 完全免费,不需要服务器
- 速度快,生成静态页面
- 支持 Markdown 写作
- 主题丰富,可高度自定义
- 支持插件扩展
- 版本控制,文章不会丢
三、安装 Hexo 并初始化博客
3.1 安装 Hexo CLI
打开终端(Windows 用 Git Bash,macOS/Linux 用终端),执行:
1 | npm install -g hexo-cli |
这会全局安装 Hexo 命令行工具。
验证安装:
1 | hexo -v |
3.2 初始化博客
选择一个目录存放博客文件,然后执行:
1 | hexo init my-blog |
这会在当前目录创建一个 my-blog 文件夹,里面是博客的所有文件。
目录结构说明:
1 | my-blog/ |
3.3 本地预览
执行以下命令启动本地服务器:
1 | hexo server |
然后在浏览器访问 http://localhost:4000,你就能看到一个默认的 Hexo 博客了。
按 Ctrl + C 停止服务器。
四、配置博客
4.1 修改主配置
打开 _config.yml,修改以下内容:
1 | # 站点信息 |
重要:
url一定要改成https://你的用户名.github.io,否则部署后链接会出错。
4.2 安装 Butterfly 主题
Hexo 默认主题比较朴素,推荐使用 Butterfly 主题,功能强大、外观精美、支持深色模式。
在博客目录执行:
1 | npm install hexo-theme-butterfly --save |
然后修改 _config.yml 中的主题:
1 | theme: butterfly |
4.3 配置 Butterfly 主题
在博客根目录创建 _config.butterfly.yml 文件,这是 Butterfly 主题的配置文件。
基础配置:
1 | # 导航栏 |
图片需要放在
source/img/目录下,头像放在source/images/目录下。
五、写文章
5.1 创建新文章
1 | hexo new "文章标题" |
这会在 source/_posts/ 目录下创建一个 文章标题.md 文件。
5.2 文章格式
用 Markdown 编辑器打开文章文件,开头是 Front-matter(文章元信息):
1 |
|
然后写正文,支持完整的 Markdown 语法:
1 | ## 二级标题 |
引用文字
1 |
|
5.4 置顶文章
在 Front-matter 中添加 sticky 属性,数值越大越靠前:
1 |
|
六、部署到 GitHub Pages
6.1 创建 GitHub 仓库
- 登录 GitHub,点击右上角 “+” → “New repository”
- 仓库名必须是
你的用户名.github.io(比如VMV.github.io) - 选择 Public(公开)
- 点击 “Create repository”
注意:仓库名必须严格是
用户名.github.io,否则 GitHub Pages 不会正常工作。
6.2 配置 Git 认证
推送代码到 GitHub 需要认证。推荐使用 Personal Access Token(PAT):
- 访问 https://github.com/settings/tokens
- 点击 “Generate new token” → “Generate new token (classic)”
- Note 填个名字,比如 “blog-deploy”
- Expiration 选 “No expiration”(不过期)
- 勾选
repo和workflow权限 - 点击 “Generate token”
- 复制生成的 token 并保存好(只显示一次)
然后在终端配置 Git 凭证存储:
1 | git config --global credential.helper store |
6.3 初始化 Git 并推送
在博客目录执行:
1 | git init |
第一次推送会要求输入用户名和密码,密码填上面生成的 token。
6.4 开启 GitHub Pages
- 进入仓库页面,点击 “Settings”
- 左侧找到 “Pages”
- “Source” 选择 “Deploy from a branch”
- “Branch” 选择
main,文件夹选/ (root) - 点击 “Save”
等待 1-2 分钟,访问 https://你的用户名.github.io 就能看到博客了!
但这样部署的是 Hexo 源码,不是生成的静态文件。我们需要用 GitHub Actions 自动构建部署,见下一节。
七、GitHub Actions 自动部署(推荐)
手动部署很麻烦,推荐用 GitHub Actions 自动构建部署。每次推送代码,GitHub 会自动构建并发布。
7.1 创建工作流文件
在博客目录创建 .github/workflows/pages.yml:
1 | name: Deploy Hexo to GitHub Pages |
7.2 配置 Pages 源
- 进入仓库 Settings → Pages
- “Source” 改成 “GitHub Actions”
- 保存
7.3 推送触发自动部署
1 | git add . |
推送后,进入仓库的 “Actions” 页面,可以看到构建进度。构建完成后(1-2分钟),博客自动更新。
以后每次写文章、修改配置,只需要:
1 | git add . |
GitHub 会自动构建部署,非常方便。
八、自定义域名(可选)
如果你有自己的域名,可以绑定到博客:
- 在域名服务商添加 CNAME 记录:
www→你的用户名.github.io - 在博客
source/目录创建CNAME文件,内容是你的域名(如www.example.com) - 推送代码,GitHub Pages 会自动识别
九、常用命令速查
1 | hexo new "标题" # 新建文章 |
常用组合:
1 | hexo clean && hexo generate && hexo server # 清理+生成+预览 |
十、常见问题
Q1:推送后博客没更新?
A:检查 Actions 页面是否构建成功,可能是配置有误。查看构建日志找错误。
Q2:图片显示不出来?
A:检查图片路径是否正确。图片放在 source/img/ 目录,引用路径是 /img/图片名.jpg。
Q3:国内访问慢?
A:可以用 jsDelivr CDN 加速图片,把图片路径改成 https://cdn.jsdelivr.net/gh/用户名/仓库名@main/source/img/图片名.jpg。
Q4:怎么换主题?
A:npm install hexo-theme-主题名 --save,然后修改 _config.yml 中的 theme 字段。
Q5:文章怎么置顶?
A:在文章 Front-matter 中加 sticky: 100,数值越大越靠前。
Q6:怎么添加评论功能?
A:推荐用 Giscus(基于 GitHub Discussions),在主题配置中开启并配置仓库信息。
Q7:博客怎么被搜索引擎搜到?
A:
- 确保博客有清晰的标题和描述
- 生成 sitemap.xml(Hexo 自带)
- 提交到 Google Search Console
- 多写原创高质量文章
- 在其他平台(知乎、掘金等)留博客链接
十一、进阶优化
11.1 图片压缩
用 ImageMagick 批量压缩图片:
1 | convert 原图.jpg -quality 70 -resize 1600x\> 压缩后.jpg |
11.2 开启 PWA 离线访问
安装 hexo-offline 插件,支持离线访问已浏览的页面。
11.3 配置 CDN 加速
所有静态资源(图片、JS、CSS)都可以用 jsDelivr CDN 加速。
11.4 备份博客
博客源码在 GitHub 上,本身就是备份。建议定期 git push,不要只存在本地。
总结
搭建一个 GitHub 博客的核心流程:
- 注册 GitHub,安装 Git 和 Node.js
- 安装 Hexo,初始化博客
- 配置主题(推荐 Butterfly)
- 写文章(Markdown)
- 创建 GitHub 仓库,配置 GitHub Actions 自动部署
- 推送代码,博客上线
整个过程不需要花一分钱,也不需要服务器运维知识。只要你会用 Markdown 写文章,就能维护好自己的博客。
博客是一个长期的过程,不要追求一开始就完美。先搭建起来,然后慢慢优化、慢慢写文章。坚持记录,时间会给你回报。
祝你搭建顺利!如果有问题,欢迎在评论区留言。





