使用GitHub免费空间搭建博客并绑定域名

使用GitHub免费空间搭建博客并绑定域名
老刘博客对于开发者和内容创作者而言,搭建一个属于自己的独立博客是沉淀思考、展示成果的重要方式。
Hexo 作为轻量级的静态博客框架,凭借其高效的渲染速度、丰富的主题生态和简洁的命令行操作,成为众多博主的首选;而 GitHub Pages 则提供了免费、稳定的静态资源托管服务,二者结合既能摆脱传统服务器的成本负担,又能享受开源生态的便捷。
本文将从底层逻辑到实操步骤,拆解如何将本地 Hexo 博客部署到 GitHub Pages,并绑定自定义域名,不仅能完成搭建,更能理解每一步操作的核心意义。
一、GitHub 仓库:博客部署的「基础载体」
GitHub Pages 的核心原理是通过特定命名规则的仓库,自动托管静态网页资源。
因此,创建符合规范的仓库是部署的第一步,其命名规则背后也藏着 GitHub Pages 的运行逻辑。
进入 GitHub 官网
1 | https://github.com/ |
之后,完成账号注册,推荐使用常用邮箱,如 QQ 邮箱,便于后续验证和找回。
账号注册之后,我们需要进入仪表盘,
1 | https://github.com/dashboard |
点击上面的Create repository来创建一个仓库
注意仓库的名字是否重名,必须带有.github.io的后缀形式,而且是一个Public的属性。
Private 仓库需 GitHub Pro 会员,暂不适合免费搭建场景
点击下面的绿色创建按钮,此时你已拥有了一个可用于托管博客的「云端空间」
二、SSH 密钥配置:本地与 GitHub 的「安全桥梁」
部署博客的本质是将本地 Hexo 生成的静态文件推送到 GitHub 仓库,而 SSH 密钥则是实现本地与 GitHub 免密码安全通信的核心 。
相比账号密码登录,SSH 通过非对称加密(私钥存本地、公钥存 GitHub)避免了密码泄露风险,也是开发者协作的标准配置。
回到本地 Hexo 博客根目录,打开 Git Bash(Windows)或终端(Mac/Linux),先配置 Git 全局身份(关联 GitHub 账号,便于提交记录溯源):
1 | git config --global user.name "xxxxxxxxxxxxxx" |
1 | git config --global user.email "xxxxxx@qq.com" |
执行以下命令验证配置是否正确,确保输出与你输入的信息一致:
1 | git config user.name |
1 | git config user.email |
确认无误后,生成 SSH 密钥对:
1 | ssh-keygen -t rsa -C "youremail" |
执行后按回车默认保存,无需设置密码,简化后续操作,密钥会生成在系统用户目录下的.ssh文件夹中(如 Windows:C:\Users\你的用户名\.ssh,Mac/Linux:~/.ssh),其中id_rsa是私钥(切勿泄露),id_rsa.pub是公钥(需配置到 GitHub)。
其中,id_rsa是你这台电脑的私人秘钥,id_rsa.pub是公共秘钥。
三、公钥配置步骤:
打开 GitHub 账号设置(非仓库设置),进入「SSH and GPG keys」页面
1 | https://github.com/settings/ssh/new |
点击「New SSH key」,标题自定义(如「Hexo 博客部署机」),将本地id_rsa.pub文件的内容全选复制到「Key」输入框;
点击「Add SSH key」完成配置。
四、Hexo 部署配置:本地静态文件的「云端交付」
Hexo 本身不具备直接推送到 GitHub 的能力,需通过配置文件和专用插件,实现「生成静态文件→推送到 GitHub 仓库」的自动化流程。
4.1. 配置部署参数
打开本地 Hexo 博客根目录的_config.yml文件(Hexo 的核心配置文件),下拉至末尾,添加部署配置:
1 | deploy: |
repository 地址需替换为你的 GitHub 仓库 SSH 地址(可在仓库「Code」按钮下复制)。
branch 指定推送的分支(GitHub Pages 默认读取 main/master 分支,需与仓库默认分支一致)。
4.2. 安装部署插件
保存配置文件之后,回到 Git Bash,安装 hexo-deployer-git 插件 ,用于使用命令部署到 Github,使用下面的代码安装插件
1 | npm install hexo-deployer-git --save |
然后执行
1 | hexo clean |
1 | hexo generate |
1 | hexo deploy |
随着代码运行
如果出现上面的代码,就表示部署成功。回到 Github 仓库,就会发现部署的文件
在这里给大家说一下,最后两张图片是借用的一个朋友的部署图片,大同小异。然后就可以通过你设置的仓库名来访问您的博客。
1 | http://yourname.github.io |
到这里,我们就把本地的博客文件上传到了 Github,下面,Github 上的博客绑定域名,通过域名来访问部署在 Github 上的博客。
五、自定义域名绑定:从「默认域名」到「专属标识」
给 Github 上的博客绑定域名,通过域名来访问部署在 Github 上的博客,过程也并不复杂,来看下面的操作。
5.1. 域名购买:选择靠谱的注册商
若尚未拥有域名,建议选择国内主流注册商,避免小众平台的续费、转移套路:
1 | https://www.22.cn/ |
1 | www.aliyun.com/ |
1 | https://cloud.tencent.com/ |
这些平台不仅价格透明,且 DNS 解析服务稳定,后续管理也更便捷。
5.2.DNS 解析设置:让域名指向 GitHub Pages
域名购买后,进入注册商的「域名解析」控制台,添加「CNAME 记录」(核心解析方式,适用于 GitHub Pages):
- 记录类型:CNAME
- 主机记录:www(或 @,对应无 www 的根域名)
- 记录值:
你的用户名.github.io(无需加 http/https)
解析逻辑:CNAME 记录的作用是将自定义域名映射到 GitHub Pages 的默认域名,无需手动解析 IP(GitHub Pages 的 IP 可能变动,CNAME 可自动适配)。设置完成后,等待 DNS 缓存生效(通常 10 分钟~2 小时)。
5.3. 本地 CNAME 文件配置:声明博客的主域名
进入本地 Hexo 博客的source文件夹,新建无后缀的「CNAME」文件
如有必要,需先显示文件扩展名:文件夹→查看→勾选「文件扩展名」,打开后输入你的自定义域名
1 | www.liublog.cn # 带www,访问时需输入www.liublog.cn |
关键注意:CNAME 文件中不可包含http://或https://,否则会导致 GitHub Pages 识别失败;该文件会随部署命令推送到 GitHub,作为博客主域名的「本地声明」。
5.4.Github 博客仓库的域名设置
域名和本地域名设置之后,就需要进入博客仓库进行设置,进入博客仓库之后,选择点击博客仓库的设置按钮,找到page页面选项就可以,或者采用给出的地址链接来进行设置,大家会发现里面的 Custom domain 选项,把自己的域名添加进去就可以。
1 | https://github.com/1128299/1128299.github.io/settings/pages |
这一步是让 GitHub Pages 确认你的自定义域名,自动生成对应的解析记录,同时开启 HTTPS(可选,需等待 DNS 生效后勾选 Enforce HTTPS)。
六、写在最后
靠着一两次的操作经验,难免有疏忽的地方,有问题大家可以搜一搜相关设置教程,一些细节问题大家多琢磨。
一晃两年,这个博客起始的域名都已放弃,回顾这次 Github 搭建博客的过程,多少有些小问题,大家可以互联网搜索对应教程,希望或多或少可以帮助到您。




















