以前的博客数据都被我搞丢了,现在得重写,从原本的 Typecho 转移到 Hexo 了,但是上一次的数据丢失中我没有对 Hexo 进行备份,也没有将 md 文件备份,现在干脆直接以一种几乎不会造成数据丢失的方案来部署博客好了。

但是还是得备份 md 文件才行

此文章是在将 Hexo 部署到 Cloudflare Workers Site 上的趟坑记录的基础之上进行编写

预备条件

首次部署 Hexo

我的本地环境是 Manjaro 42.3,按照 Hexo 官方给出的部署条件,需要安装 Node.js 和 Git

Hexo 官方指出安装的 Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本
sudo pacman -S nodejs
sudo pacman -S npm
#sudo yay -S yarn
sudo pacman -S git

安装完成之后在命令行中打开你想安装 Hexo 的路径,我选择的是 ~/Documents,在这个路径下执行:

npm install hexo
hexo init <folder name>
cd <folder name>
npm install

<folder name> 改成放置 Hexo 的目录名即可,我改成了「Hexo」

到这一步我们的 Hexo 就以及部署完毕了,关于 配置 Hexo ( https://hexo.io/zh-cn/docs/configuration ) 还是看官方的文档吧。

部署 Wrangler

接下来我们需要安装 Cloudflare 官方的 Wrangler CLI,只需要在 Hexo 的路径下执行:

sudo npm i @cloudflare/wrangler -g
#npm i @cloudflare/wrangler
wrangler init --site <workers-name>

<workers-name> 就填写想要创建的 Workers 名称就行了。

打开 API 令牌 设置,创建一个以「编辑 Cloudflare Workers」为模板的 API Token,在设置 Token 权限时将下图两个权限去掉,部署 Cloudflare Workers Site 不需要用到这几个权限。

不需要的权限
「账户资源」设置为域名所在的账户即可
账户资源设置
「区域资源」选择需要解析的域名,如果页面没有这项设置可以在域名的「概述」页面右侧栏底下的「获取您的 API 令牌」进入试一试,或者忽略这项设置
区域资源设置
若不是部署于拥有静态公网IP的计算机上,则不建议对客户端 IP 地址进行设置,所以「客户端 IP 地址筛选」可不填
TTL设置就是设置 API Token 生效的起止日期,可以时间设置得稍长一些

完成设置后就会生成一个 API Token,妥善保存,待会用得到

现在打开目录下的 wrangler.toml 文件,配置 Workers 相关信息

account_id = "" # Cloudflare 账户 ID
route = '你的域名/*' #路由
zone_id = '' #域名的区域 ID
workers_dev = false #是否使用自动分配的 workers.dev 域名,这里设置为不使用
site = {bucket = "./public" ,entry-point = "workers-site" }

账户 ID 和 区域 ID 在域名的概述页面可以找到。
配置完成后执行:

wrangler config

回车后会要求输入 API Token,这里把前面生成的 API Token 填入再回车即可。

预览 / 发布

运行下述命令即可对 Cloudflare Workers Site 进行预览:

 wrangler preview --watch # 将 bucket 中的文件上传到 Workers KV 中,浏览器会自动打开一个窗口进行预览

运行下述命令即可将网站发布到 Cloudflare Workers Site:

wrangler publish # 将 Workers Site 发布到生产环境

至此,部署告一段落。

参考链接:
将 Hexo 部署到 Cloudflare Workers Site 上的趟坑记录 - blog.skk.moe
文档 - Hexo.io
建站 -Hexo.io