真诚友善团结专业,共建你我引以为荣之社区。《常见问题解答》
阅读时间 4 分钟
41 / 48
6月 4 日

0. 展示

原文发布在自己的 blog 上(来这水一篇文章 :shushing_face:https://blog.661212.xyz/index.php/archives/6/ 139

相关链接:

Demo : https://cfblog.661212.xyz/ 173

Githubhttps://github.com/wang-useful/cfblog-plus 83

(备注:本文介绍的是 cfblog-plus 原仓库为:https://github.com/Arronlong/cfblog-plus 31 ,是 gdtool/cloudflare-workers-blog 18 的一个修改版)

1. 介绍

cf blog 是一个运行在 cloudflare workers 上的博客程序,使用 cloudflare KV 作为数据库,无其他依赖。兼容静态博客的速度,以及动态博客的灵活性,您可以通过访问项目仓库了解更多详情。

2. 项目特点:

  • 使用 workers 提供的 KV 作为数据库,可达到 wordpress 的灵活性
  • 使用 cloudflare 缓存 html 来降低 KV 的读写,使其可达到静态博客的速度
  • 后台使用 markdown 语法,方便快捷,一键发布 (页面重构 + 缓存清理)
  • cfblog-plus 新增了 文章置顶、后台首页选择、文章隐藏、静态搜索 等功能

3. 部署

这是一个纯小白教程 [doge]

  • 第一步:注册 Cloudflare 账号

    Cloudflare 官网:https://dash.cloudflare.com 8

  • 第二步,将域名托管到 CloudFlare 中,并获取区域ID

    如果没有也行,可以使用自动分配的域名,但是后续发布文章时,自动清除缓存会无法使用,问题不大

    托管域名:过程略,自行 baidu 或 google

    获取区域 ID:如域名已托管到 CloudFlare 中,进入域名站点管理页面,页面向下滑动,记录右侧的 “区域 ID” 的值,后续会用到。

  • 第三步,获取清除缓存 API 令牌

    打开 API 令牌 19 管理页面,点击 “创建令牌” 按钮,页面拉到最下面,点击 “创建自定义令牌” 后面的 “开始使用” 按钮,按以下方式填写。

    令牌名字:CFBlog-plus 缓存权限:区域 -> 缓存清除 -> 清除 区域资源:包括 -> 特定区域 -> 【您的域名】

    token 留下备用

  • 第四步,新建 KV 命名空间

    打开 CloudFlare 主页 12,点击右侧的 “Workers”,然后点击 “KV” 项,即可进入 “Worker KV” 管理页面。

    在命名空间名称输入框里任意输入一个名称,为了见名知义,这里最好使用 CFBLOG 作为命名空间名称。点击添加即可。如下图所示:

  • 第五步,创建 Workers

    点击挨着 “KV” 的 “概述” 项,进入 Workers 和 Pages 概述,点击 “创建应用程序”,点击 “创建 Workers”,点击 “编辑代码”

    index_plus.js 48 中的内容替换 workers 的内容。

    先不修改配置,然后点击 “保存并部署”。然后点击 “<” 箭头,返回该 workers 的配置页面,自行 “重命名”,然后 “设置”–"变量" 选项卡,添加 “KV 命名空间绑定”,变量名随意起,推荐用 CFBLOG,下拉选择新添加的 KV 命名空间,点击 “保存按钮”。

    再将页面滑动上面,点击 “快速编辑”,重新打开 workers 的编辑页面开始添加各类配置。

    以上配置项均根据配置说明进行配置即可,不再详细说明。要记得 “保存并部署”

    可以点击右侧的 “预览” 选项卡进行预览,能成功出现页面就说明配置成功了。

  • 第六步,配置域名访问【非必须】

  • 参照图片

保存后可以看到列表里有刚添加的信息,自此,所有配置已经完成,可以愉快的写博客了。

4. 可能遇到的问题

  • 文章 id 为 ID000nan 且访问会报错误

    解决方案:在创建的 KV 中修改 SYSTEM_INDEX_NUM 的值为 0

  • 新增文章时,必填的分类无法选择

    解决方案:在顶部设置中,参照提示填写分类

  • 保存了,但是主页不显示文章

    解决方案:在后台直接点发布或者去 Cloudlfare 清除相关链接的缓存 (自行 baidu/Google)

5. 扩展

添加评论、阅读量、内容分类、页脚、自定义页面和图标、链接等,请自行发掘

例子

页脚(可以把作者信息保留,我这里因为有这篇文章介绍就不保留了)

阅读量

评论

图标 + 分类

8029cf0cee3de73d25e54.png

6. 承载能力:

  • KV 基本不存在瓶颈,因为使用了缓存,读写很少
  • 唯一瓶颈是 workers 的日访问量 10w, 大约能承受 2 万 IP / 日
  • 文章数:1G 存储空间,几万篇问题不大

7. 说明

感谢原作者的付出,觉得好用不妨给原作者一个 星星

本文链接:

最后,感谢你的阅读,谢谢

阅读时间 4 分钟

好好,这里做窝更舒适

用久了会发现自己写的舒服很多。 反正只是自己发文章,不需要给别的用户专门写 UI,
我一般弄个简单页面,直接发送到后端数据库增加文章。

以前我用 python 的 Django 搭建博客,现在改成 go 的 Gin 框架搭建了,cpu 占用少了 4 倍以上。

哈哈,原来你兄弟你啊。。
我刚看到你的文章,这里就有了

27 天后

佬,求助,为啥我发表后点击进去无法正常加载帖文?
创建的帖子 id 初始为 NaN000,我自己去 KV 改成了 0000,还是报错

我也搭建了一个,后台很简陋,不过对于纯写 blog 的还是不错的,毕竟白嫖 cf 大善人

在建 KV 的时候就定义一下 SYSTEM_INDEX_NUM 这个变量就没事了

是的,教程中已经写了
(这个已经很久没人维护了,年久失修)

我其实对你图文中的短链接系统更感兴趣 :joy:

你把空间删了 重新来 这次建立空间后先定义这个变量然后再改 worker 重新部署

26 天后
上次访问
9 天后
2 个月后

配置域名的时候一直提示正在初始化中…
大佬这正常吗?

我也试着搭建了一下,感觉访问速度很慢正常吗?

最简单的方法,换优选ip但这只能保证你自己的访问

那这样的blog没啥意义吧,只能自己访问,纯静态加载都要好几秒了,大佬你也是这样吗?

不是没啥意义,你要有一个用户友好的站,哪怕一个博客也有很多门道的

不是一言一语或者一个帖子能解决的

2 个月后
4 个月后