Hexo 搭建并一键部署到GitHub Pages,然后添加域名
如果你要将源文件夹也上传到GitHub,建议参考 hexo.io——在 GitHub Pages 上部署 Hexo
Hexo 搭建
安装Git
Windows:下载并安装 git。
Scoop:
scoop install main/gitLinux (Ubuntu, Debian):
sudo apt-get install git-coreLinux (Fedora, Red Hat, CentOS):
sudo yum install git-coreLinux (Arch):
sudo pacman -S git
安装 Node.js
Node.js 为大多数平台提供了官方的 安装程序。
其它的安装方法:
-
Scoop:
scoop install main/nodejs Linux(DEB/RPM-based):从 NodeSource 安装。
其它:使用相应的软件包管理器进行安装,可以参考由 Node.js 提供的 指导。
对于 Mac 和 Linux 同样建议使用 nvs 或者 nvm,以避免可能会出现的权限问题。
安装 Hexo
Git与Node.js安装完成后,就可以用npm安装hexo。
1 | #npm安装Hexo |
默认Hexo本地地址 http://localhost:4000/
Nginx 反代
如果你实在不想上传到GitHub上
可以上传到其他静态网站托管平台
或者Nginx本地反代
但这个需要你本地电脑一直开着
如果你有一个本地/远程服务器的话,也不是不行
关于IPv6DDNS参考 Windows 或 OpenWrt路由器 DDNS IPv6
反代配置如下
1 | server { #博客 |
一键部署GitHub
关于GitHub注册 参考 注册github账户并在本地git配置多个github账户
打开你的储存库新建
Your repositories>New
这里要重点注意Repository name 储存库名称
前缀必须是你的GitHub用户名,后缀是.github.io
✅README初始化
Create repository 创建储存库
注意图片的main,有一些旧教程用的是master,但新储存库是main分支 不要搞错了
详情请看 github/renaming 在存储库中配置分支和合并
在地址栏输入 https://用户名.github.io
可以看到页面能打开

安装与详细配置参考hexojs/hexo-deployer-git
1 | npm install hexo-deployer-git --save |
修改 blog\_config.yml 配置文件
滑到最下面,将deploy下的类型、目标存储库、分支名称填写上去
type类型gitrepository目标存储库 有两个方案url:要从中提取和推送到的存储库的 URL。
https://github.com/user/project.git.io
推荐 多账户必须 分支:用于部署静态站点的可选 git 分支。
git@github.com:<username>/<username>.github.io.git例如 git@github.com-ciyuanxing:ciyuanxing/ciyuanxing.github.io.git
branch分支名称main
1 | # Deployment |
关于本地Git账户先参考 注册github账户并在本地git配置多个github账户
单账户直接全局默认就行
多账户: (根据ssh config修改) git@github.com-bakaxiaofang:bakaxiaofang/bakaxiaofang.github.io.git
先hexo d运行一次,会自动生成文件夹.deploy_git
.前缀的文件夹是隐藏的,依次点击查看>显示>隐藏的项目
然后修改 blog\.deploy_git\.git\config 配置文件
1 | [core] |
[user]
name = GitHub用户名
email = GitHub邮箱
上传测试效果图
添加域名
DNS
域名注册可以参考 注册dynadot域名并将域名托管到cloudflare
如果只用一个blog自定义子域解析到博客,添加记录
个人建议用blog自定义子域
| 类型 | 名称 | 内容 | 代理状态 | TTL | 操作 |
|---|---|---|---|---|---|
| CNAME | blog | ciyuanxing.github.io | 仅 DNS | 自动 |
编辑 |
如果你想要顶级域名与www子域都解析到博客,添加记录
其实直接使用顶点域也行,但不是很推荐,详情参考 GitHub文档——关于自定义域名和 GitHub 页面
| 类型 | 名称 | 内容 | 代理状态 | TTL | 操作 |
|---|---|---|---|---|---|
| CNAME | ciyuanxing.xyz | ciyuanxing.github.io | 仅 DNS | 自动 |
编辑 |
| CNAME | www | ciyuanxing.github.io | 仅 DNS | 自动 |
编辑 |
储存库自定义域
GitHub储存库>Settings设置>Pages页面>Custom domain自定义域
顶级域名+www二级域名一般情况下输入二级域名,Save保存
记得勾选 ✅ Enforce HTTPS
添加CNAME文件
自定义域名会因为hexo d上传一次失效,建议在博客source目录下添加CNAME文件
blog\source\ 创建一个CNAME文件
修改blog\source\CNAME 在里面填写域名
1 | www.ciyuanxing.xyz |
可能会出现的错误记录
致命错误:在 ‘/mnt/ntfs/wind/bakaxiaofang/NotesorBlog/bakaxiaofang.moe/blog/.deploy_git’ 检测到可疑的仓库所有权
要为本仓库创建特例,请运行:
git config --global --add safe.directory /mnt/ntfs/wind/bakaxiaofang/NotesorBlog/bakaxiaofang.moe/blog/.deploy_git
FATAL Something’s wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html
Error: Spawn failed
at ChildProcess.
at ChildProcess.emit (node:events:507:28)
at ChildProcess._handle.onexit (node:internal/child_process:294:12)
我在Linux下遇到小问题
1 | git config --global --add safe.directory /mnt/ntfs/wind/bakaxiaofang/NotesorBlog/bakaxiaofang.moe/blog/.deploy_git |
hexo cl hexo g hexo d