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


想拥有一个属于自己的个人博客,却不想为服务器和运维投入过多成本?本文将带您从零开始,使用 Hexo 框架搭建个人博客,并部署到 GitHub Pages 和 Cloudflare Pages。主要内容包括:

  • 环境准备:安装Node.js和Git
  • 配置Git和GitHub:设置SSH密钥,创建GitHub仓库
  • 初始化Hexo项目:安装Hexo,创建新博客
  • 部署到GitHub Pages:配置部署设置,推送静态文件
  • 部署到Cloudflare Pages:连接GitHub仓库,自动部署
  • 基本使用方法:创建新文章,本地预览,发布更新

借助这些免费的工具和平台,您可以在短时间内创建一个美观、高效且易于维护的博客网站。

[]

一、准备工作

  1. 域名(非必须,你也可以使用免费域名,或者GitHub.ioPages.dev分配的域名也可以)。
  2. GitHub必须,你需要注册一个GitHub帐号)。
  3. Cloudflare非必须,你需要注册一个Cloudflare帐号,这样你就可以将博客部署在Cloudflare的CDN里实现加速,但是你也可以直接使用GitHub.io分配的域名)

二、软件支持

  1. Node必须
  2. Git必须
  3. VSCode非必须,这是一款轻量型的代码编辑器,可以帮助你养成一个很好的编程习惯,推荐使用)

1、安装 Node

  1. 打开Node官网,下载和自己系统相配的Node的安装程序,否则会出现安装问题。下载地址:https://nodejs.org/zh-cn/download
  2. 下载后安装,安装的目录可以使用默认目录C:/Program Files/nodejs/
  3. 安装完成后,检查是否安装成功。在键盘按下 win + R 键,输入 CMD,然后回车,打开CMD窗口,执行 node -v 命令,看到版本信息,则说明安装成功。

  1. 修改npm源。npm各种模块默认是从国外服务器下载,速度较慢,建议配置成华为云镜像源。打开CMD窗口,运行如下命令:
    1
    npm config set registry https://mirrors.huaweicloud.com/repository/npm/

2、安装 Git

  1. 进入官网下载适合你当前系统的 Git:https://git-scm.com/downloads

  1. 下载后傻瓜式安装Git即可,安装的目录最好使用默认目录C:/Program Files/Git
  2. 点击电脑左下角开始即可看见Git CMDGit BashGit GUI
    • Git CMD 是windows 命令行的指令风格
    • Git Bash 是linux系统的指令风格(建议使用)
    • Git GUI 是图形化界面(新手学习不建议使用)

三、配置 Git 密钥并连接至 Github

1、常用 Git 命令

1
2
3
git config -l  //查看所有配置
git config --system --list //查看系统配置
git config --global --list //查看用户(全局)配置

运行启动Git Bash

2、配置用户名和邮箱

1
2
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

通过 git config -l 命令检查是否配置成功。

3、配置公钥连接Github

  1. 执行以下命令生成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密钥。

  1. 将 SSH KEY 配置到 GitHub
    进入GitHub,点击右上角头像 选择Settings,进入设置页后选择SSH and GPG keys,名字随便起,公钥填到Key那一栏。

  2. 测试连接,输入以下命令

    1
    ssh -T git@github.com

    第一次连接会提示Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入yes;出现连接到账户的信息,说明已经大功告成,至此完成了环境准备工作。

4、创建GitHub.io仓库

  1. 点击右上角的+按钮,选择New repository,创建一个<用户名>.github.io的仓库。
  2. 仓库名字的格式必须为:<用户名>.github.io

    [!caution]
    前缀必须为用户名!此为预览博客需要,后期可修改仓库名。

  3. 可见性必须选择Public方便第一次部署检查问题,点击Creat repository进行创建即可

四、初始化 Hexo 博客

  1. 创建一个文件夹来保存博客源码(我这里选的路径为D:/Hexo-Blog),在文件夹内右键鼠标,选择Open Git Bash here

  2. Git BASH输入如下命令安装 Hexo

    1
    npm install -g hexo-cli && hexo -v

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

  1. 初始化 Hexo 项目安装相关依赖。

    1
    2
    3
    hexo init blog-demo
    cd blog-demo
    npm i

  2. 初始化项目后,blog-demo有如下结构:

    • node_modules:依赖包
    • scaffolds:生成文章的一些模板
    • source:用来存放你的文章
    • themes:主题
    • .npmignore:发布时忽略的文件(可忽略)
    • _config.landscape.yml:主题的配置文件
    • config.yml:博客的配置文件
    • package.json:项目名称、描述、版本、运行和开发等信
  3. 输入hexo cl && hexo s启动项目

  4. 打开浏览器,输入地址:http://localhost:4000/ ,看到下面的效果,说明你的博客已经构建成功了。

五、将静态博客挂载到 GitHub Pages

  1. 安装 hexo-deployer-git
    1
    npm install hexo-deployer-git --save
  2. 修改 _config.yml 文件
    blog-demo目录下的_config.yml,就是整个Hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述
    修改最后一行的配置,将repository修改为你自己的github项目地址即可,还有分支要改为main代表主分支(注意缩进)。
    1
    2
    3
    4
    deploy:
    type: git
    repository: git@github.com:cmliussss2024/cmliussss2024.github.io.git
    branch: main
  3. 修改好配置后,运行如下命令,将代码部署到 GitHub(Hexo三连)。
    Git BASH终端
    1
    hexo clean && hexo generate && hexo deploy 
    VSCode终端
    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

  1. Workers 和 Pages中选择Pages连接到 Git

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

  3. 点击保存并部署后等待部署完成即可。

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

    [!info]
    这时你也就可以将你的<用户名>.github.io的仓库设置为Private私库了。

  5. 如果有自己的域名,可以在自定义域绑定自己的域名,即可通过托管在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