CF-Blog是一個運行在 Cloudflare Workers 上並使用 Workers KV 作為數據庫的開源博客程序,無其他依賴,兼顧靜態博客的速度和動態博客的靈活性,搭建方便不折騰。CF-Blog博客的緩存效果類似靜態博客,評論依賴於第三方,可以添加waline評論系統(waline是valine的民間版本,比valine好用一點)。
CF-Blog項目地址:https://github.com/gdtool/cloudflare-workers-blog
CF-Blog演示網站:https://www.iyideng.me
1、CF-Blog主要特點
- 使用workers提供的KV作為數據庫
- 使用cloudflare緩存html來降低KV的讀寫
- 所有html頁面均為緩存,可達到靜態博客的速度
- 使用KV作為數據庫,可達到wordpress的靈活性
- 后台使用markdown語法,方便快捷
- 一鍵發布(頁面重構+緩存清理)
2、CF-Blog承載能力
- KV基本不存在瓶頸,因為使用了緩存,讀寫很少
- 唯一瓶頸是 workers的日訪問量10w,大約能承受2萬IP /日
- 文章數:1G存儲空間,幾萬篇問題不大
3、CF-Blog搭建步驟
1)注冊Cloudflare賬號,點擊直達Cloudfalre官網。
2)注冊域名,並將您的域名NS修改為Cloudflare的NS服務器,使用Cloudflare管理您的域名。
如果您不知道如何將域名托管到Cloudflare管理,請參考文章 通過 Cloudflare Partner 的CName方式接入並利用智能DNS解析為不同網絡線路分配優選Cloudflare自定義IP節點實現全球CDN加速
3)登錄Cloudflare管理后台,並進入您的域名管理頁面,點擊上面的“Workers”菜單,進入 Cloudflare Workers 管理頁面,然后在“Workers KV”項點擊右側的“管理 KV 命名空間”。如下圖所示:
(4)我們進入“Workers KV”管理頁面后,輸入“cf-blog”,然后點擊右側“添加”按鈕,即創建一個名稱為“cf-blog”的命名空間。如下圖所示:
(5)然后,我們切換到“Workers”頁面,點擊“創建 Worker”,如下圖所示:
進入創建Worker頁面后,可以自定義Worker名稱(我這里命名為“cf-blog”),其他內容先保持默認,然后直接點擊最下面的“保存並部署”,在彈出的對話框中再次點擊“保存並部署”按鈕即可。如下圖所示:
(6)當我們“保存並部署”Worker完成后,進入剛創建好的Worker,並切換到“設置”項,在“KV 命名空間綁定”項,點擊“添加綁定”按鈕。如下圖所示:
進入添加“KV 命名空間綁定”項,我們可以填寫KV的“變量名稱”,並選擇“KV 命名空間”,點擊“保存”。如下圖所示:
(7)當以上設置完成后,我們需要添加博客網站域名的DNS解析,比如我這里使用 www.iyideng.me,IP地址隨意設置即可,但必須開啟Cloudflare的CDN防護,即小雲朵必須處於點亮狀態。如下圖所示:
(8)將域名綁定到 Cloudflare Workers
我們依次選擇“域名”-“Workers”-“添加路由”,然后在彈出的“添加路由”對話框,輸入路由值,如“https://www.iyideng.me/*”,然后選擇剛才創建好的Worker,如“cf-blog”。如下圖所示:
(9)獲取 Cloudflare 區域 ID 和緩存 API 令牌
在您的“域名”-“概述”頁面右下角即可看到您的“區域 ID”和“獲取您的 API 令牌”按鈕。如下圖所示:
我們點擊“獲取您的 API 令牌”,跳轉到“我的個人資料”頁面,然后切換到“API 令牌”選項卡,點擊“創建令牌”按鈕,進入“創建 API 令牌”頁面,選擇最下面的“創建自定義令牌”。如下圖所示:
以上設置完成后,點擊最下面的“繼續以顯示摘要”,進入“cf-blog-cache API 令牌摘要”頁面,然后點擊“創建令牌”按鈕,進入“cf-blog-cache API 令牌已成功創建”的頁面。如下圖所示:
點擊“Copy”按鈕即可復制 API 令牌。API 令牌創建成功之后,如下圖所示:
(10)粘貼index.js文件源碼內容到你創建的workers,然后可以根據需求修改參數。
index.js文件源碼地址:https://github.com/gdtool/cloudflare-workers-blog/blob/master/index.js
我們需要修改的主要代碼在第3-10行,其他代碼可以暫時不修改,如下所示:
"user" : "admin", //后台密碼 "password" : "123456", //后台密碼 "siteDomain" : "www.iyideng.me",// 域名(不帶https 也不帶/) "siteName" : "CF workers blog",//博客名稱 "siteDescription":"A Blog Powered By Cloudflare Workers and KV",//博客描述 "keyWords":"cloudflare,KV,workers,blog",//關鍵字 "cacheZoneId":"cc868e8edce4027ad4a735741111111",//清理緩存用 cf區域 ID "cacheToken":"LNxRWH-MPMIGnp8qhyT8FUsjDRN6tdOnmaaaaaaa",//清理緩存用 cf API token
修改完成后,我們將完整的源碼粘貼到我們已經創建好的Worker(我們演示時創建的是cf-blog,一定要把原來的代碼全部替換掉)。如下圖所示:
重新“保存並部署”后,你就可以訪問 https://www.iyideng.me,查看你的CF-Blog博客網站效果了。CF-Blog的后台登錄地址為“你的域名/admin”,使用你設置好的用戶名和密碼就可以登錄發表文章了。
4、CF-Blog搭建網站演示
CF-Blog目前只有3款主題,除了程序自帶的主題之外,還有yinwang主題和JustNews風格主題。如果你喜歡JustNews風格主題,請修改主題網址,代碼如下所示:
"themeURL" : "https://raw.githubusercontent.com/gdtool/cloudflare-workers-blog/master/themes/JustNews/",
(1)CF-Blog博客網站主頁
1)默認主題風格
2)JustNews主題風格
(2)CF-Blog管理后台
5、CF-Blog搭建博客推薦
真沒啥好說的,大牛開發的產品總是那么出其不意,實在太好用了,而且功能還在繼續增加中…CF-Blog還有一個好處就是可以保持永久在線,幾乎可以無限抗DDoS攻擊和CC攻擊,反正有Cloudflare幫你防呢!據說,Cloudflare從沒有被打宕機過,它不倒,你也不會倒!牛不牛逼?
一燈不是和尚期待更強大更豐富更驚艷的CF-Blog被開發出來,我也可以穩穩地搭建一個美麗的小博客,穩穩地享受不會下線的網站帶來的安全感了。
原文轉載:使用 Cloudflare Workers 和 Workers KV 開發的CF-Blog開源博客程序搭建免費網站的詳細圖文教程