博客再次搬迁
前言
差不多四年前,我将我的个人博客从Word Press迁移到了Hexo,不可否认的是两者都是非常好的CMS,而且具有不同的特点。
WordPress:
由于是动态生成的,性能受限于服务器的处理能力。
由于其广泛使用,成为攻击者的目标,安全性需要特别关注。
Hexo:
生成静态页面,通常加载速度更快,安全漏洞相对较少。
因为是静态文件,不容易受到常见的攻击。
我选择Hexo的原因也是因为我希望博客的访问速度更快,也更安全。
四年前的设计
四年前借助 Cloudflare Workers,它利用了赛博菩萨 Cloudflare 的无服务器架构,可以直接在边缘网络上运行 JavaScript 代码,通过这种方式,用户的请求可以在离他们最近的地点处理,从而提高响应速度,减少延迟。
它确实很快,但是对于博客来说,也有缺点。
有一点 Overkill
发布博客的过程需要借助 wrangler 来 Push 内容到 Cloudflare KV 里,简单来说你可以理解为把你的 KV 绑定到 Worker 上,然后 Worker 读取 KV 里渲染好的HTML。这对于功能强大的 Worker 和 KV 来说有点大材小用了。
版本控制
通过上述的发布过程你也可以看到,由于你 Push 到 KV 里的文件是已经渲染好的HTML,因此你只能在本地保存编辑原始的 .md 文件以及各种各样的配置。这会带来很多问题。
- 没有办法回滚版本
- 原始
.md文件或配置丢失会很麻烦(虽然可以存在云上作为workaround) - 额外安装
wrangler
四年后的方案
赛博菩萨 的新静态网页托管服务 Cloudflare Pages 已经结束了内测,转念一想要么 Cloudflare Pages 算了,反正都不要钱。
简单来说 Cloudflare Pages 可以同步到你 git 提供商(GitHub 和 GitLab),并自动构建且部署静态站点到 Cloudflare 的网络。这也意味着更方便回滚至先前的版本。Cloudflare Pages 集成了持续集成和持续部署(CI/CD),每次提交到代码仓库时,Cloudflare Pages 都会自动构建和发布最新版本的网站,而且相比较wrangler 我相信大多数人更熟悉 git。
于是乎我就把我的博客迁移到了 Cloudflare Pages
小Tips
- 目前Cloudflare Pages官方不支持Hexo,贴上我的构建配置作为参考。
- 安装主题的方法和以往有所不同,直接 clone 到 themes 目录下会有问题,我以我用的主题为例,作为参考。
1 | git submodule add https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly |
除此之外,绑定域名啊之类的,都是老生常谈, 就省略不提了。








