CF Workers配合Workers KV搭建免费博客集成Valine评论系统 [域名]
大鸟大佬发掘出CF Workers配合Workers KV居然能搭建博客程序并集成Valine静态博客评论系统。
官方网站:https://www.cloudflare.com
开源项目:https://github.com/gdtool/cloudflare-workers-blog
这是一个运行在CloudFlare Workers上的博客程序,使用CloudFlare KV作为数据库,无其它依赖,兼容静态博客的速度,以及动态博客的灵活性。
主要特点:
● 使用Workers提供的KV作为数据库;
● 使用CloudFlare缓存HTML来降低KV的读写;
● 所有HTML页面均为缓存,可达到静态博客的速度;
● 使用KV作为数据库,可达到WordPress的灵活性;
● 后台使用Markdown语法,方便快捷;
● 一键发布(页面重构+缓存清理)。
承载能力:
● KV基本不存在瓶颈,因为使用了缓存,读写很少;
● 唯一瓶颈是Workers的日访问量10w,大约能承受2万IP/日;
● 文章数:1GB存储空间,发表几万篇文章应该没有问题。
CloudFlare中文登陆:https://dash.cloudflare.com/login
没有CloudFlare账号首先注册账号。
单击右侧的“Workers”进入界面后,在Workers KV中创建一个命名空间。如果使用CloudFlare的免费三级子域名,这里命名空间名称无所谓,例如空间命名为:CF-Blog。建议命名为:CFBLOG。
注意:绑定域名空间名称一定要命名为:CFBLOG,因为后面的变量名称必须是“CFBLOG”。
Workers KV
在CloudFlare网络中存储应用程序数据,并从Workers访问键值对。
创建“CFBLOG”空间后,单击“Workers”创建“Workers”。
代码是CloudFlare-Workers-Blog的JS文件,复制index.JS代码粘贴到红色框内:
https://github.com/gdtool/cloudflare-workers-blog/blob/master/index.js
创建“Workers”可以先默认,之后再去编辑修改代码内容。
或者修改代码:
1. 后台用户名和后台密码;
2. 域名、博客名称;
3. 博客描述和博客关键字;
创建好“Workers”之后,现在去绑定Workers KV。
单击“Settings”设置,点击“Add Binding”添加绑定,在“Variable Name”变量名称处必须填写“CFBLOG”,选择“KV NameSpace”KV命名空间,最后点击“Save”保存。
首先准备好自己的域名并接入到CloudFlare。
添加站点:
填写您已准备好自己的域名。
选择CloudFlare的FREE套餐。如果您需要更高级的服务,可以勾选付费套餐。
直接点击“Continue”继续。
CloudFlare会自动获取到的您原DNS上的解析信息。这一步获取的解析信息是不全的,无需理会。因为最后是要用CNAME方法接入,此处是用更改DNS的方法接入。直接点击“Confirm”确认。
在官方的控制面板上,只能通过更改DNS来使用CloudFlare的解析服务。在CloudFlare删除刚刚添加的域名,删除是为了使用CloudFlare的CNAME方式接入。在“Overview”页面中,向下滚动至“Advanced Actions”,单击“Remove Site From CloudFlare”,在“Remove Site”对话框中单击“ Confirm”确认删除在CloudFlare添加的域名。
笨牛网CloudFlare CDN防御系统:http://cdn.bnxb.com
注意:回源地址可先不填,接入后到解析管理处将默认生成的CNAME记录改成A记录(IP方式回源),也就是选择A记录方式把默认的example.bnxb.com替换成您服务器IP用于回源就OK了!在笨牛网设置www的解析,直接使用了A记录解析,即CloudFlare的CDN在回源的时候,直接返回到服务器的IP。
这里使用笨牛网CloudFlare CDN防御系统。在笨牛网能看到分配给www.baidugooglebing.pp.ua的CloudFlare的CNAME接入记录为上图红框所示。
前往您域名使用的DNS商中将域名做CNAME记录。
域名绑定:
重新添加您已解析好的域名。
选择CloudFlare的FREE套餐。如果您需要更高级的服务,可以勾选付费套餐。
单击“+Add record”添加A记录。IP地址直接使用笨牛网分配的IP地址,“代理状态”只要代理开著即可。
域名绑定Workers:
点击域名,在“Overview”页面中,再点页面上方“Workers”,点击“Add route”添加路由,域名后面是斜杠后面和星号:/*
获取CloudFlare区域ID和API令牌:
点击域名,在“Overview”页面往下拉,记录下“Zone ID”区域ID,点击“Get your API token”获取您的API令牌,再点击“API Tokens”API令牌,继续点击“Creata Tokens”创建令牌,选择Edit zone DNS“Use template”使用模板,“Permissions”权限选择“区域➠缓存清除➠清除”,“Zone Resources”区域资源选择“包括➠特定区域➠您的域名”,点击“Continue to summary”继续显示摘要,记录下创建的API令牌。
集成Valine静态博客评论系统:
Valine诞生于2017年8月7日,是一款基于LeanCloud的快速、简洁且高效的无后端评论系统。理论上支持但不限于静态博客,目前已有Hexo、Jekyll、Typecho、Hugo、Ghost等博客程序在使用Valine。
注意:Valine分为国内版和国际版,国内版需要实名,推荐使用国际版。
获取评论用的AppID和Appkey:
注册LeanCloud账号:https://console.leancloud.app/login.html#/signup
账号注册完成后,需要先创建应用。单击“创建应用”。
创建完成后,打开应用,点击左边的存储,查看是否有Comment和Counter。如没有则创建,权限设为所有用户。
创建Comment:
创建Counter:
点击“设置”➠“安全中心”,将除了数据存储的服务全部关闭。无需绑定域名(绑定Web安全域名,可以防止恶意调用)。
点击“应用Keys”,获取AppID和Appkey。
最后在“Workers”创建的命名空间“CFBLOG”里放置评论代码。
具体的放置可以参考文档:https://valine.js.org/configuration.html
需要设置<codeBeforHead>和<commentCode>具体如下:
"codeBeforHead":`<script src='//unpkg.com/valine/dist/Valine.min.js'></script>`,"commentCode":` <div id="vcomment" class="comments-area"></div> <script> new Valine({ el:'#vcomment', appId: '换成你自己的', appKey: '换成你自己的', avatar:'monsterid', placeholder:"评论可以一针见血..." }) </script>`,//评论区代码
下面是大鸟大佬给出的具体集成Valine静态博客评论系统布署代码:
下载地址:蓝奏云
因为有缓存,您需要重新发一篇文章才会看到评论效果。