博客迁移至cloudflare
动机
作为前云计算大厂AWS员工,深知公有云便利和成本二者不可兼得。对于博客或者个人独立开发者而言,公有云就像奢侈品。
直到遇见了Cloudflare, 这个在我印象中一直做cdn的云厂,居然有着不输传统公有云的替代实现,例如cf workers
, cf pages
, workers AI
等。在深度使用一段时间后,它表现出来的应用开发和交付的便利性,直觉这才是真serverless。更难能可贵的是,在保持便利性的同时,cloudflare有着慷慨至极的真免费计划。
Github Pages迁移到Cloudflare Pages
博客之前托管在github pages上,要自己设置github ci推到github page仓库, 才算发布成功。
而cloudflare pages就简单了,选择你的框架,例如hexo, hugo等,配置好仓库,然后ci是自动的,你也不需要关心什么cdn,https证书,高可用之类的问题。
参造这篇deploy-a-hugo-site文档操作,整个过程非常流畅,全程不超过5分钟搞定.
然后你会得到一个xx.pages.dev的高可用网站, 再把博客域名加进去就完工了。
七牛图床迁移到Cloudflare Pages
之前用的七牛云托管图床,用的http协议访问,后来chrome不让https站点加载http, 这个方案crash了。 翻开七牛的文档一看,https的价格简直劝退,而且又有一堆https证书的申请和配置问题,对个人和独立开发者极度不友好。
索性也迁移到cf pages
, cf本来就是cdn, pages里托管还免费。这样cdn和图床都解决了。
过程也比较简单,先用qshell把图床都download到hugo的static文件夹,再用vscode或者别的编辑器批量修改md中的图片url链接
例如
http://xx.xx.com/a.jpg -> /a.jpg
vscode里正则替换http://xx.xx.com/(.*.jpg) 为/$1就行了
hugo图片生成水印
图片打上博客水印之前是七牛自带的功能,迁移后就得自己实现了。好在hugo本身自带了Images.overlay功能, 只要找个图叠上原图就行了。
网上发现了个参考: https://adityatelange.in/blog/hugo-watermarking-images/, 由于本站的博客图片都放在static文件夹下,这个代码也直接用不了。得稍微改改。
用hugo的render hooks来修改渲染图片叠上水印, 文件放在layouts/_default/_markup/render-image.html
, 水印图放在static/watermark.png
.
|
|
背后用的原理也比较简单,都是简单的go模板语法和Hugo的一些指令,这里不解释了。
完成
cloudflare的确方便,全程搞下来也就10分钟差不多,一个https整站高可用的博客网站就做好了。 搭配function和workers一些简单的业务逻辑也能往上写,绝大部分中小企业的需求都能满足。
以上。
- 原文作者:Chris Wang
- 原文链接:https://www.sound2gd.wang/post/07cb0387/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。