搭建Hexo博客,托管到 GitHub Pages 及 Cloudflare Pages 完整指南

搭建Hexo博客,托管到 GitHub Pages 及 Cloudflare Pages 完整指南
CMLiussss想拥有一个属于自己的个人博客,却不想为服务器和运维投入过多成本?本文将带您从零开始,使用 Hexo 框架搭建个人博客,并部署到 GitHub Pages 和 Cloudflare Pages。主要内容包括:
- 环境准备:安装Node.js和Git
- 配置Git和GitHub:设置SSH密钥,创建GitHub仓库
- 初始化Hexo项目:安装Hexo,创建新博客
- 部署到GitHub Pages:配置部署设置,推送静态文件
- 部署到Cloudflare Pages:连接GitHub仓库,自动部署
- 基本使用方法:创建新文章,本地预览,发布更新
借助这些免费的工具和平台,您可以在短时间内创建一个美观、高效且易于维护的博客网站。
一、准备工作
- 域名(非必须,你也可以使用免费域名,或者
GitHub.io或Pages.dev分配的域名也可以)。 - GitHub(必须,你需要注册一个GitHub帐号)。
- Cloudflare(非必须,你需要注册一个Cloudflare帐号,这样你就可以将博客部署在Cloudflare的CDN里实现加速,但是你也可以直接使用
GitHub.io分配的域名)
二、软件支持
1、安装 Node
- 打开Node官网,下载和自己系统相配的Node的安装程序,否则会出现安装问题。下载地址:https://nodejs.org/zh-cn/download
- 下载后安装,安装的目录可以使用默认目录
C:/Program Files/nodejs/ - 安装完成后,检查是否安装成功。在键盘按下 win + R 键,输入
CMD,然后回车,打开CMD窗口,执行node -v命令,看到版本信息,则说明安装成功。

- 修改npm源。npm各种模块默认是从国外服务器下载,速度较慢,建议配置成华为云镜像源。打开CMD窗口,运行如下命令:
1
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
2、安装 Git
- 进入官网下载适合你当前系统的 Git:https://git-scm.com/downloads

- 下载后傻瓜式安装Git即可,安装的目录最好使用默认目录
C:/Program Files/Git - 点击电脑左下角开始即可看见Git CMD、Git Bash、Git GUI。
- Git CMD 是windows 命令行的指令风格
- Git Bash 是linux系统的指令风格(建议使用)
- Git GUI 是图形化界面(新手学习不建议使用)
三、配置 Git 密钥并连接至 Github
1、常用 Git 命令
1 | git config -l //查看所有配置 |
运行启动Git Bash
2、配置用户名和邮箱
1 | git config --global user.name "你的用户名" |
通过 git config -l 命令检查是否配置成功。
3、配置公钥连接Github
- 执行以下命令生成ssh公钥,此公钥用于你的计算机连接Github
1
ssh-keygen -t rsa -C "你的邮箱"
提示Enter file in which to save the key直接一路回车即可,新手小白不推荐设置密钥
之后打开C盘下用户文件夹下的.ssh的文件夹,会看到以下文件
- id_rsa私钥
- id_rsa.pub公钥

用记事本打开上述图片中的公钥id_rsa.pub,复制里面的内容,然后开始在github中配置ssh密钥。
将 SSH KEY 配置到 GitHub
进入GitHub,点击右上角头像 选择Settings,进入设置页后选择SSH and GPG keys,名字随便起,公钥填到Key那一栏。



测试连接,输入以下命令
1
ssh -T git@github.com
第一次连接会提示
Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入yes;出现连接到账户的信息,说明已经大功告成,至此完成了环境准备工作。
4、创建GitHub.io仓库
- 点击右上角的
+按钮,选择New repository,创建一个<用户名>.github.io的仓库。 - 仓库名字的格式必须为:
<用户名>.github.io[!caution]
前缀必须为用户名!此为预览博客需要,后期可修改仓库名。 - 可见性必须选择
Public方便第一次部署检查问题,点击Creat repository进行创建即可
四、初始化 Hexo 博客
创建一个文件夹来保存博客源码(我这里选的路径为
D:/Hexo-Blog),在文件夹内右键鼠标,选择Open Git Bash here
在Git BASH输入如下命令安装 Hexo
1
npm install -g hexo-cli && hexo -v

安装完后输入
hexo -v验证是否安装成功。

初始化 Hexo 项目安装相关依赖。
1
2
3hexo init blog-demo
cd blog-demo
npm i
初始化项目后,
blog-demo有如下结构:

- node_modules:依赖包
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- .npmignore:发布时忽略的文件(可忽略)
- _config.landscape.yml:主题的配置文件
- config.yml:博客的配置文件
- package.json:项目名称、描述、版本、运行和开发等信
输入
hexo cl && hexo s启动项目
打开浏览器,输入地址:http://localhost:4000/ ,看到下面的效果,说明你的博客已经构建成功了。

五、将静态博客挂载到 GitHub Pages
- 安装 hexo-deployer-git
1
npm install hexo-deployer-git --save
- 修改 _config.yml 文件
在blog-demo目录下的_config.yml,就是整个Hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。
修改最后一行的配置,将repository修改为你自己的github项目地址即可,还有分支要改为main代表主分支(注意缩进)。1
2
3
4deploy:
type: git
repository: git@github.com:cmliussss2024/cmliussss2024.github.io.git
branch: main - 修改好配置后,运行如下命令,将代码部署到 GitHub(Hexo三连)。
Git BASH终端VSCode终端1
hexo clean && hexo generate && hexo deploy
1
hexo cl; hexo g; hexo d
- hexo clean:删除之前生成的文件,可以用hexo cl缩写。
- hexo generate:生成静态文章,可以用hexo g缩写
- hexo deploy:部署文章,可以用hexo d缩写

[!caution]
deploy时可能要你输入 username 和 password。
如果出现Deploy done,则说明部署成功了。
稍等两分钟,打开浏览器访问:https://cmliussss2024.github.io ,这时候我们就可以看到博客内容了。
六、将静态博客挂载到 Cloudflare Pages
在
Workers 和 Pages中选择Pages的连接到 Git

然后登录你Blog仓库对应的GitHub帐号


点击
保存并部署后等待部署完成即可。
提示 成功!您的项目已部署到以下区域:全球 后,浏览器访问:https://cmliussss2024-github-io.pages.dev ,这时候我们就可以看到博客内容了。

[!info]
这时你也就可以将你的<用户名>.github.io的仓库设置为Private私库了。如果有自己的域名,可以在
自定义域绑定自己的域名,即可通过托管在Cloudflare的域名访问博客了。
七、基本使用方法
1、新建一篇博文
1 | hexo new 文章标题 |
然后用文本编辑器去编辑_posts/文章标题.md里的内容即可,注意要使用Markdown格式书写。
详细使用方法可以查阅 https://hexo.io/zh-cn/docs/writing
2、生成本地页面进行预览
编辑完文章保存后可以使用如下命令,生成本地页面,通过 http://localhost:4000/ 进行预览。
Git BASH终端
1 | hexo cl && hexo s |
VSCode终端
1 | hexo cl; hexo s |
3、将本地文章推送至GitHub仓库
检查确认文章编辑无误后使用以下命令,将本地文章推送至GitHub仓库,Cloudflare Pages会自动同步。
Git BASH终端
1 | hexo cl && hexo g && hexo d |
VSCode终端
1 | hexo cl; hexo g; hexo d |
4、VSCode 终端首次执行报错的处理方法
首次使用Visual Studio Code终端时可能会出现错误提示,可以尝试使用管理员身份打开powershell,输入以下命令解决:
1 | Set-ExecutionPolicy RemoteSigned |










