1️⃣ 利用github和cloudflare搭建零成本搭建个人博客
00 分钟
2024-7-4
2024-7-4
type
status
date
slug
summary
tags
category
icon
password

教程适合那些想要快速搭建个人博客,但又不想花费太多成本的人

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

Windows 用户部分

引用的是CMLiussss Blog的内容,链接如下https://blog.090227.xyz/p/HexoBlogNo1/

1.事前准备

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

2.软件支持

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

2.1.安装 Node

  1. 打开Node官网,下载和自己系统相配的Node的安装程序,否则会出现安装问题。下载地址:https://nodejs.org/en
  1. 下载后安装,安装的目录可以使用默认目录C:/Program Files/nodejs/
  1. 安装完成后,检查是否安装成功。在键盘按下win + R键,输入CMD,然后回车,打开CMD窗口,执行node -v命令,看到版本信息,则说明安装成功。
    1. notion image
  1. 修改npm源。npm下载各种模块,默认是从国处服务器下载,速度较慢,建议配置成华为云镜像源。打开CMD窗口,运行如下命令:
    1. CMD
      1
      npm config set registry https://mirrors.huaweicloud.com/repository/npm/

2.2.安装 Git

  1. 进入官网下载适合你当前系统的 Git:https://git-scm.com/downloads
    1. notion image
  1. 下载后傻瓜式安装Git即可,安装的目录最好使用默认目录C:/Program Files/Git
  1. 点击电脑左下角开始即可看见Git CMDGit BashGit GUI
      • Git CMD 是windows 命令行的指令风格
      • Git Bash 是linux系统的指令风格(建议使用)
      • Git GUI是图形化界面(新手学习不建议使用)

3.配置 Git 密钥并连接至 Github

常用 Git 命令
SHELL
123
git config -l //查看所有配置git config --system --list //查看系统配置git config --global --list //查看用户(全局)配置
notion image

3.1. 配置用户名和邮箱

SHELL
12
git config --global user.name "你的用户名"git config --global user.email "你的邮箱"
通过git config -l 检查是否配置成功。
notion image

3.2. 配置公钥连接Github

  1. 执行以下命令生成ssh公钥,此公钥用于你的计算机连接Github提示Enter file in which to save the key直接一路回车即可,新手小白不推荐设置密钥之后打开C盘下用户文件夹下的.ssh的文件夹,会看到以下文件
    1. SHELL
      1
      ssh-keygen -t rsa -C "你的邮箱"
      notion image
      • id_rsa私钥
      • id_rsa.pub公钥用记事本打开上述图片中的公钥id_rsa.pub,复制里面的内容,然后开始在github中配置ssh密钥。
        • notion image
          notion image
  1. 将 SSH KEY 配置到 GitHub进入github,点击右上角头像 选择settings,进入设置页后选择 SSH and GPG keys,名字随便起,公钥填到Key那一栏。
    1. notion image
      notion image
      notion image
      notion image
  1. 测试连接,输入以下命令第一次连接会提示Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入yes即可出现连接到账户的信息,说明已经大功告成,至此完成了环境准备工作。
    1. SHELL
      1
      ssh -T git@github.com
      notion image
      notion image

3.3. 创建GitHub.io仓库

  1. 点击右上角的+按钮,选择New repository,创建一个<用户名>.github.io的仓库。
  1. 仓库名字的格式必须为:<用户名>.github.io (注意:前缀必须为用户名,此为预览博客需要,后期可修改仓库名)
  1. 可见性必须选择 Public 方便第一次部署检查问题,点击 Creat repository 进行创建即可
    1. notion image

4.初始化 Hexo 博客

  1. 创建一个文件夹来保存博客源码(我这里选的路径为D:/Hexo-Blog),在文件夹内右键鼠标,选择Open Git Bash here
    1. notion image
  1. Git BASH输入如下命令安装 Hexo
    1. SHELL
      1
      npm install -g hexo-cli && hexo -v
      notion image
  1. 安装完后输入hexo -v验证是否安装成功。
    1. notion image
  1. 初始化 Hexo 项目安装相关依赖。
    1. SHELL
      123
      hexo init blog-democd blog-demonpm i
      notion image
  1. 初始化项目后,blog-demo有如下结构:
    1. notion image
  • node_modules:依赖包
  • scaffolds:生成文章的一些模板
  • source:用来存放你的文章
  • themes:主题
  • .npmignore:发布时忽略的文件(可忽略)
  • _config.landscape.yml:主题的配置文件
  • config.yml:博客的配置文件
  • package.json:项目名称、描述、版本、运行和开发等信
  1. 输入hexo cl && hexo s启动项目
    1. notion image
  1. 打开浏览器,输入地址:http://localhost:4000/ ,看到下面的效果,说明你的博客已经构建成功了。
    1. notion image

5.将静态博客挂载到 GitHub Pages

  1. 安装 hexo-deployer-git
    1. SHELL
      1
      npm install hexo-deployer-git --save
  1. 修改 _config.yml 文件在blog-demo目录下的_config.yml,就是整个Hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。修改最后一行的配置,将repository修改为你自己的github项目地址即可,还有分支要改为main代表主分支(注意缩进)。
    1. YAML
      1234
      deploy: type: git repository: git@github.com:cmliussss2024/cmliussss2024.github.io.git branch: main
  1. 修改好配置后,运行如下命令,将代码部署到 GitHub(Hexo三连)。
    1. SHELL
      1234567
      // Git BASH终端hexo clean && hexo generate && hexo deploy // 或者// VSCODE终端hexo cl; hexo g; hexo d
  • hexo clean:删除之前生成的文件,可以用hexo cl缩写。
  • hexo generate:生成静态文章,可以用hexo g缩写
  • hexo deploy:部署文章,可以用hexo d缩写注意:deploy时可能要你输入 username 和 password。
如果出现Deploy done,则说明部署成功了。
稍等两分钟,打开浏览器访问:https://cmliussss2024.github.io ,这时候我们就可以看到博客内容了。
notion image

6.将静态博客挂载到 Cloudflare Pages

  1. 在 Workers 和 Pages 中选择 Pages 的 连接到 Git
    1. notion image
      notion image
  1. 然后登录你Blog仓库对应的GitHub帐号
    1. notion image
      notion image
  1. 点击保存并部署后等待部署完成即可。
    1. notion image
  1. 提示成功!您的项目已部署到以下区域:全球后,浏览器访问:https://cmliussss2024-github-io.pages.dev ,这时候我们就可以看到博客内容了。
    1. notion image
      这时你也就可以将你的<用户名>.github.io的仓库设置为Private私库了
  1. 如果你有自己的域名,你可以在这里绑定你自己的自定义域,即可
    1. notion image

如何使用

新建一篇博文

SHELL
hexo new 这是一篇新的博文
然后用文本编辑器去编辑_posts/这是一篇新的博文.md里的内容即可,注意要使用Markdown格式书写。
详细使用方法可以查阅 https://hexo.io/zh-cn/docs/writing

编辑完文章保存后可以使用如下命令,生成本地页面 http://localhost:4000/ ,进行预览

SHELL
// Git BASH终端hexo cl && hexo s// 或者// VSCODE终端hexo cl; hexo s

确认无误后使用以下命令,将本地文章推送至GitHub仓库即可

SHELL
// Git BASH终端hexo cl && hexo g && hexo d// 或者// VSCODE终端hexo cl; hexo g; hexo d
下一期会讲讲进阶的使用方法,主题美化

VSCODE 终端首次执行报错

使用管理员身份打开 powershell ,输入以下命令
POWERSHELL
Set-ExecutionPolicy RemoteSigned

 

MAC 用户部分

多数内容与前面的 windows 部分重叠,也有不同的部分

安装 Git 和 Node.js

Homebrew安装完成后,安装 Git 和 Node.js:
brew install git brew install node
Copy

测试所需组件是否安装成功

依次输入下面的命令
npm -v node -v git --version
notion image
出现npm、Node.js和git的版本号即代表安装成功。

安装 Hexo

使用 npm 命令安装 Hexo:
1
npm install -g hexo-cli
Copy
等待安装完成后初始化博客:
1
hexo init blog
Copy
这条指令的作用是在你目前所在的目录下(默认是你的home目录)新建一个名为blog的文件夹(你可以将这条命令中的blog替换成任何你想要的名字),并在内初始化你的博客。之后所有的操作都在这个文件夹下进行,请确保在执行后文的操作前已经切换到了这个文件夹(cd blog)。
待初始化完成,切换到blog文件夹中,即可生成和预览博客。
执行hexo s命令后,通过浏览器访问http://127.0.0.1:4000可以预览你的博客,预览功能会实时监测博客的文件变化,并实时反馈在浏览器上,在调试博客前端时非常好用
在执行到hexo g h ,hexo init blog 时报 loading failed 错误,需要执行 rm -rf 操作删除一些内容
notion image
 
执行完成后可以看到
notion image
notion image
接下去的步骤大同小异,部署到 github 也相似。

绑定自定义域名(可选)

其实到这一步就可以开始写博客了,默认的 github.io 的域名是可以更换的:
首先自行申请一个域名,登陆到域名申请的后台,添加一条CNAME解析记录:你的用户名.github.io
打开存放博客的Github仓库,进入Settings页面在pages选项里的Custom domain里填入你的域名,点击Save,勾选Enforce HTTPS,即可通过自定义域名访问你的博客。
 

Hexo常用命令

合成命令
⚠️
需要注意的是在使用命令时的路径问题
使用 类似npm install hexo-deployer-git --save npm 的命令时,要在 blog 根目录 的外层
上一篇
使用Singbox和Tun虚拟网卡进行高效抓包
下一篇
美化Hexo博客,主题安装配置