树洞剪藏#剪藏#树洞剪藏

Cloudflare Workers + KV 搭建一个带后台管理的blog - 资源荟萃 - LINUX DO

2024 年 12 月 9 日1 分钟
分享Twitter / XTelegram微博

同步来源:树洞剪藏 源站剪藏 ID:303 原文地址:https://linux.do/t/topic/5860

打开原文 · 打开源站剪藏快照


Cloudflare Workers + KV 搭建一个带后台管理的blog - 资源荟萃 - LINUX DO

set 限制解除

跳到主要内容

15

话题

我的帖子

关于

友链

文档

更多

外部链接

Status

Connect

Channel

Telegram

类别

开发调优

资源荟萃

文档共建

跳蚤市场

前沿快讯

福利羊毛

搞七捻三

运营反馈

深海幽域

所有类别

标签

抽奖

公告

精华神帖

快问快答

人工智能

所有标签

消息

收件箱

频道

常规频道

直接消息

聊天

Default

真诚 、 友善 、 团结 、 专业 ,共建你我引以为荣之社区。 《常见问题解答》

Cloudflare Workers + KV 搭建一个带后台管理的 blog

资源荟萃

4.3k

浏览量

207

12

链接

31

用户

7

6

3

3

2

阅读时间

4 分钟

1月 30 日

41 / 48

6月 4 日

18 天

前排围观支持一下 感谢分享大佬厉害啊 有点厉害支持~~

wang two 龙行龘龘

2 1月 30 日 #1

  1. 展示

29fb0d433bde0e1cd7d28.png 1261×932 160 KB

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

相关链接:

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

Github : https://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 作为数据库,无其他依赖。兼容静态博客的速度,以及动态博客的灵活性,您可以通过访问项目仓库了解更多详情。

  1. 项目特点:

使用 workers 提供的 KV 作为数据库,可达到 wordpress 的灵活性

使用 cloudflare 缓存 html 来降低 KV 的读写,使其可达到静态博客的速度

后台使用 markdown 语法,方便快捷,一键发布 (页面重构 + 缓存清理)

cfblog-plus 新增了 文章置顶、后台首页选择、文章隐藏、静态搜索 等功能

  1. 部署

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

第一步:注册 Cloudflare 账号

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

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

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

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

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

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

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

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

7e3b64a933ceca9af8708.png 1384×516 36.2 KB

908cede94ae45c22824ab.png 949×240 15 KB

257b5ccd3376a02793808.png 850×835 81.1 KB

4dce9639285562ebb3908.png 754×273 15.1 KB

token 留下备用

第四步,新建 KV 命名空间

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

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

4a64f2f858cf732e05670.png 1358×825 45.5 KB

第五步,创建 Workers

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

be750e530fb6362732ab3.png 1208×819 82.3 KB

6c4732d82c391e483b478.png 1315×731 54.8 KB

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

b87eaa8fdcda9a30dae3f.png 1150×935 62.8 KB

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

752437d0294a2f983f0ea.png 1222×468 15.7 KB

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

f7039a598891d793ec193.png 1404×701 26.4 KB

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

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

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

参照图片

e3e542ce0e229b155cd98.png 1438×820 29.2 KB

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

  1. 可能遇到的问题

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

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

b1a7e185f4b827c21494c.png 1450×201 2.46 KB

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

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

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

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

  1. 扩展

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

例子

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

f7050281ebf1fe70756ea.png 930×129 4.44 KB

阅读量

fee7562282c610eb113c8.png 1087×167 9.59 KB

评论

c88fe549e84025ab459dd.png 1079×454 11.4 KB

图标 + 分类

  1. 承载能力:

KV 基本不存在瓶颈,因为使用了缓存,读写很少

唯一瓶颈是 workers 的日访问量 10w, 大约能承受 2 万 IP / 日

文章数:1G 存储空间,几万篇问题不大

  1. 说明

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

本文链接:

Wang's blog

Cloudflare Workers + KV 搭建一个带后台管理的 blog 139

  1. 展示本文部分内容由 chatgpt 生成,略有修改相关链接: Demo : https://cfblog.661212.xyz/Github:https://github.com/wan...

cfblog.661212.xyz

Cloudflare Workers + KV 搭建一个带后台管理的 blog - Wang's blog 41

Wang's blog

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

2 个回复

heart

+1

72

回复

【Cloudflare系列教程】汇总帖 1

4.3k

浏览量

207

12

链接

31

用户

7

6

3

3

2

阅读时间

4 分钟

Neo 岂曰无衣?

1月 30 日 #2

我先赞为敬 1 个回复

4 回复

wang two 龙行龘龘

Neo 1月 30 日 #3

把我自己的文章搬过来水

2 回复

Neo 岂曰无衣?

1月 30 日 #4

好好,这里做窝更舒适 1 个回复

4 回复

我秦始皇? wo_zu_long 指导顾问

1月 30 日 #5

nice

2 回复

里包恩 novice.li

1月 30 日 #6

之前试过,发现有点丑,换 halo 了 1 个回复

2 回复

我刘邦 woliubang 浴火重生

里包恩 1月 30 日 #7

不能换主题吗 1 个回复

1 回复

wang two 龙行龘龘

我刘邦 1月 30 日 #8

可以,要自己适配

我自己都嫌麻烦,没有用这个当 blog 了

2 回复

996

1月 30 日 #9

用久了会发现自己写的舒服很多。 反正只是自己发文章,不需要给别的用户专门写 UI,

我一般弄个简单页面,直接发送到后端数据库增加文章。

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

3 回复

伶枫 王 user94 种子用户

2月 1 日 #10

看的还不错,点赞。

2 回复

Megasoft zhong_little 大预言家

2月 2 日 #11

好好好,正愁不知道怎么榨干 cf 大善人的 10 万访问量

2 回复

Grok

2月 2 日 #12

哈哈,原来你兄弟你啊。。

我刚看到你的文章,这里就有了

2 回复

27 天后

约遍全国榜一大哥 hlxcr 海纳百川

2月 29 日 #13

搭建成功感谢奉献~

2 回复

周树人 Tink 种子用户

2月 29 日 #14

支持大佬

2 回复

Reno 🐦‍🔥 浴火重生

2月 29 日 #15

佬,求助,为啥我发表后点击进去无法正常加载帖文?

创建的帖子 id 初始为 NaN000,我自己去 KV 改成了 0000,还是报错

image 1504×430 28.9 KB

1 个回复

2 回复

YUhome Kenneth_Yu 种子用户

2月 29 日 #16

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

2 回复

King-Huiwen-of-Qin 与子偕行 🍭

2月 29 日 #17

可以试试

36 回复

wang two 龙行龘龘

Reno 3月 2 日 #18

wang:

  1. 可能遇到的问题

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

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

b1a7e185f4b827c21494c.png 1450×201 2.46 KB

记得刷新缓存,或 worker 重新点一下部署 1 个回复

2 回复

Mr. Qi 圆圆满满

3月 2 日 #19

插眼,赞

2 回复

eijiz_new@ wen_zijie 浴火重生

3月 2 日 #20

真不错

2 回复

Reno 🐦‍🔥 浴火重生

3月 2 日 #21

感谢群主的教程,我搭了一个

blog.daosuijun.top

Reno's hub 51

Reno's hub

1 个回复

3 回复

Reno 🐦‍🔥 浴火重生 wang 3月 2 日 #22

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

2 回复

wang two 龙行龘龘

Reno 3月 2 日 #23

是的,教程中已经写了

(这个已经很久没人维护了,年久失修)

2 回复

饼干 yzc 浴火重生

3月 4 日 #24

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

2 回复

chancat

3月 6 日 #25

有没有 feed 功能?

2 回复

王 Loong 海纳百川

3月 6 日 #26

谢谢大佬教程,搭了一个 mx.ooo

2 回复

ddone MJJcee

3月 10 日 #27

打开博客的文章内容时发生错误,这个不知道怎么调整。

blog 757×478 16.2 KB

1 个回复

2 回复

wang two 龙行龘龘

ddone 3月 10 日 #28

wang:

  1. 可能遇到的问题

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

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

b1a7e185f4b827c21494c.png 1450×201 2.46 KB

教程中写了的,在楼上也提到过了 2 个回复

3 回复

鹿目 まどか Advanced PlayMcBKuwu 银笔杆

3月 10 日 #29

CF Pages 什么时候支持 1 个回复

1 回复

ddone MJJcee wang 3月 10 日 #30

改成 0 还是这个问题 1 个回复

1 回复

Reno 🐦‍🔥 浴火重生 ddone 3月 10 日 #31

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

1 回复

ddone MJJcee Reno 3月 10 日 #32

哦,行的吧

1 回复

wang two 龙行龘龘

鹿目 まどか Advanced 3月 10 日 #33

原项目都几年没更新了

而且这个项目就算用了 pages 也只是用 pages 的 function 跟 workers 一样

1 回复

26 天后

sstutu

4月 6 日 #34

详细的教程,赞

1 回复

King-Huiwen-of-Qin 与子偕行 🍭

4月 6 日 #35

改天有空试试

22 回复

eat 浴火重生

4月 6 日 #36

白嫖大善人

1 回复

上次访问

9 天后

zhuyue wang 4月 15 日 #37

Snipaste_2024-04-14_16-38-19 2462×835 363 KB

Snipaste_2024-04-14_16-51-32 2456×924 359 KB

这个怎么弄啊,就是创建之后,代码怎么弄呢,求后续详细一点的教程

1 回复

2 个月后

JIeJaitt 种子用户

1 6月 2 日 #38

配置域名的时候一直提示正在初始化中…

大佬这正常吗?

1 回复

JIeJaitt 种子用户 Reno 6月 4 日 #39

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

1 回复

[root@master ~]# nice 龙行龘龘

6月 4 日 #40

支持优秀内容

1 回复

av爱好者 qas

6月 4 日

谢谢大佬教程 赞

2 回复

Reno 🐦‍🔥 浴火重生 JIeJaitt 6月 4 日

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

2 回复

JIeJaitt 种子用户 Reno 6月 4 日

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

1 回复

Reno 🐦‍🔥 浴火重生 JIeJaitt 6月 4 日

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

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

2 回复

smzd

6月 4 日

牛逼牛逼plus

1 回复

大帅哥 handsome 种子用户

6月 4 日

太强了佬

回复

2 个月后

Ethereum Foundation ETH

7月 26 日

太厉害了

回复

4 个月后

eastwoodnet

18 天

搭建完了,但是编辑页面不太对劲怎么回事?录入的位置很细小。预览页面也不对劲。js兼容问题?

2024-11-21_12-07 1787×1241 89.4 KB

回复

分享

加入书签

举报

回复

已取消置顶

跟踪

由于您 阅读过此话题 ,您将看到新回复的数量。

推荐

相关

新话题和未读话题

话题列表,带有按钮的列标题可以排序。

话题

回复

浏览量

活动

开个帖子,大家一起来推荐Mac 下非常好用的软件吧 52

资源荟萃

精华神帖

385

09/09 00:00

11 小时

分享自用webdav免费网盘和自建多套方案 40

资源荟萃

网盘 nas

43

08/22 14:07

16 小时

唐纳德 • 特朗普钦定的 Java 脚手架,让 Java 再次伟大!v2.7 (已接入L站登录福利) 196

资源荟萃

Java

811

11/10 00:00

19 小时

Cloudflare Zero Trust:Cloudflare Tunnel使用教程 140

资源荟萃

Cloudflare

146

01/26 23:52

1 天

一个月全力打造,开源网站助您快速完成论文,集成 ChatGPT 实现真实文献引用 34

资源荟萃

ChatGPT

600

02/10 13:47

1 天

有 107 个未读 话题 和 194 个新 话题,

或浏览 资源荟萃 中的其他话题

'>

开始阅读 启用自动点赞 开始阅读 启用自动点赞

楼主 AI

等级

相关文章