如果博客内容主要以图文、记录日常、笔记为主,可以试试用Cloudflare Workers搭建,不仅不需要繁琐的备案程序,也无需购买云服务器,还能挂靠在cloudflare上解析自己的域名,省时省力。搭建好的网站,不仅拥有静态网站的稳定,同时还兼具动态网站的灵活性,无需每次修改都要git push新的.md文档,墙内加载速度也不错。配合一个便宜的域名,每年的运营成本极低,性价比很高。
  
  这一方案会用到cloudflare Workers KV,是一个全球分布式、适合读多写少的键值存储(Key-Value Store),因此很适合放置静态数据。免费额度搭建个人博客绰绰有余(再次赞美赛博活佛Cloudflare):

项目免费额度
存储空间1 GB
每日读取次数100,000 次/天
每日写入次数1,000 次/天
每日删除次数1,000 次/天
每日列表操作1,000 次/天

  

一、购买域名

  一般来说,.top的域名最便宜,每年不到两刀,也就是人民币十来块钱,此后每年费用不超过5刀,很划算。以前有网站可以获取免费域名,但听说被过滤、拦截的风险比较高,所以我一直用的付费域名。

  在cloudflare上买域名最方便,可以直接解析,可惜不支持购买.top,所以只能在其他地方买。几大云服务器厂商或者传统的域名大厂都行。我是在namesilo上买的,可以用支付宝支付。

  

二、在cloudflare解析域名

  1. 把域名转入cloudflare解析

    ​ 注册后进入cloudflare主页,点击“加入域”,将购买的域名填入后,根据提示把几个域名链接分别粘贴到namesilo的域名设置中,等待几分钟后就转移过来了;

  2. 解析域名的选项

    ​ 主页点击转移过来的域名,先设置SSL证书:

    概述:加密方式选择“完全(严格)”;

    边缘证书:打开“始终使用HTTPS”、“随机加密”、“TSL1.3”,以及“自动HTTPS”重写发

    ​ 然后进入“速度-设置”:

    内容优化:打开“Cloudflare Fonts”和“Early Hints”,关闭“Rocket Loader”

    协议优化:关闭“0-RTT 连接恢复”,其他都打开

    ​ 设置完这两处后,其他保持默认即可。

  

三、在Cloudflare Workers搭建博客

  1. 复制建站代码

    ​ 打开此github仓库https://github.com/gdtool/cloudflare-workers-blog,点击“index.js”,复制所有代码;

  2. 创建Workers

    ​ 注册后进入cloudflare,在主页“建构-计算和AI-Workers和Pages”中,点击右上角“创建应用程序”,然后“Workers-从Hello World开始”,Workers的名称改为blog,将下面“Workers.js”的代码换成刚才“index.js”里的代码,然后部署;

  3. 创建Workers KV

    ​ 回到cloudflare主页,进入“构建-存储和数据库- Workers KV”,创建一个名为“blogkv”的实例。

    ​ 然后回到“Workers and Pages”,选择刚才创建好的“blog”,然后选择“绑定-添加绑定-KV命名空间”,变量名称一定要严格大写填入CFBLOG,然后下面的KV命名空间选择此前创建好的“blogkv”。点击添加绑定完成此步骤。

  4. 创建清理缓存的令牌

    ​ 点击“域名-概述”,拉到下面,最右边有API的几行内容,点击“创建您的API令牌”,然后拉到最下面,选“创建自定义令牌”,然后如下配置:

    名称:huancun

    权限:区域-清除缓存-缓存

    注意:令牌代码只出现一次,保存好后再退出。令牌代码只出现一次,保存好后再退出。令牌代码只出现一次,保存好后再退出。

  5. 配置worker.js

    ​ 回到“主页-workers and pages”,点击创建好的blog项目,右上角点编辑代码,就可以开始对网站进行设置。下面是几个比较重要的点

    user:后台登录编辑网站的用户名

    password:登录密码

    siteDomain:填入步骤一和二购买并解析的域名

    siteName:博客的名字

    cacheZoneId:进入cloudflare主页,选择购买的域名,往下拉右下有API,复制“区域ID”的代码,粘贴于此

    cacheToken:步骤4中创建的令牌。

    themeURL:修改博客主题。该github仓库只有有五个主题可用,默认的是default2.0,另外还有JustNews,JustNews2.0,default,以及yinwang。更换主题只需将这几个主题名称替代URL最后部分即可。比如,将/default2.0/改为/yinwang/,重新部署后,博客的主题就变成yinwang的主题了。

  6. 部署和发布博客

    ​ 修改完上述配置后,点击右上角“部署”,博客就搭建完成了。点击“访问”,可以看到博客网站的最初的样子。然后右下角“管理站点”,输入步骤5设定的用户名和登录密码,就能进入网站后台写文章、管理文章了。写文章的页面使用的是markdown格式,且支持实时预览,可以随时看到自己输入的文字、代码以及图片链接最终呈现的效果,很适合用来学习markdown语法。

    ​ 写好文章后,点击保存。此时不要忘记,一定要点击“发布”,这样网站才会彻底刷新,所有新变化才会被推送出来。只要执行了以下操作,都需要点击“发布”:

    由于前端使用缓存,以下操作需要发布:新建文章、发布文章、修改后台配置、修改workers配置
    前端生效需要ctrl+F5 强制刷新。

    ​ 刷新网页后,就会看到刚才最新编辑的文章。至此,博客的搭建工作就完成了。

  

四、将所购域名指向博客

  此时的博客只有cloudflare自动生成的.dev域名,不方便记忆与检索。绑定自定义域名后,别人就可以通过该域名访问我们的博客了。具体设置如下:

cloudflare主页 - 计算和AI - workers和pages - blog项目 - 设置 - 域和路由 - 添加 - 自定义域

  需要添加两次,一次是www.xxxx.top,另一次是xxx.top。由于我们已经此前已建立过解析,所以网站会帮我们自动配置好DNS解析。这样别人通过任意方式都可以访问博客。这是我搭建好的博客:www.lingualog.top,只测试了几次,还没来得及更新文章。

  

  由于这个github仓库中只有5个主题,且相对比较简陋,所以现阶段博客更适合放一下文本和图片。具体该如何美化、修改更多主题,等以后有需要、有时间再进一步学习。

  

参考自:

  1. 零度博客:Cloudflare-workers-blog 搭建一个免费的动态博客!有前端和后台
  2. 零度解说油管频道:Cloudflare 免费用到爽!Workers/Pages 搭建无限图床、个人导航站、博客等全搞定!
  3. 科技lion油管频道:全网最详细搭建博客教学 Google Blogger遇上cloudflare 建站优化一条龙!