用Cloudflare搭建个人博客
如果博客内容主要以图文、记录日常、笔记为主,可以试试用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解析域名
把域名转入cloudflare解析
注册后进入cloudflare主页,点击“加入域”,将购买的域名填入后,根据提示把几个域名链接分别粘贴到namesilo的域名设置中,等待几分钟后就转移过来了;
解析域名的选项
主页点击转移过来的域名,先设置SSL证书:
概述:加密方式选择“完全(严格)”;
边缘证书:打开“始终使用HTTPS”、“随机加密”、“TSL1.3”,以及“自动HTTPS”重写发
然后进入“速度-设置”:
内容优化:打开“Cloudflare Fonts”和“Early Hints”,关闭“Rocket Loader”
协议优化:关闭“0-RTT 连接恢复”,其他都打开
设置完这两处后,其他保持默认即可。
三、在Cloudflare Workers搭建博客
复制建站代码
打开此github仓库https://github.com/gdtool/cloudflare-workers-blog,点击“index.js”,复制所有代码;
创建Workers
注册后进入cloudflare,在主页“建构-计算和AI-Workers和Pages”中,点击右上角“创建应用程序”,然后“Workers-从Hello World开始”,Workers的名称改为blog,将下面“Workers.js”的代码换成刚才“index.js”里的代码,然后部署;
创建Workers KV
回到cloudflare主页,进入“构建-存储和数据库- Workers KV”,创建一个名为“blogkv”的实例。
然后回到“Workers and Pages”,选择刚才创建好的“blog”,然后选择“绑定-添加绑定-KV命名空间”,变量名称一定要严格大写填入
CFBLOG,然后下面的KV命名空间选择此前创建好的“blogkv”。点击添加绑定完成此步骤。创建清理缓存的令牌
点击“域名-概述”,拉到下面,最右边有API的几行内容,点击“创建您的API令牌”,然后拉到最下面,选“创建自定义令牌”,然后如下配置:
名称:huancun
权限:区域-清除缓存-缓存
注意:令牌代码只出现一次,保存好后再退出。令牌代码只出现一次,保存好后再退出。令牌代码只出现一次,保存好后再退出。
配置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的主题了。
部署和发布博客
修改完上述配置后,点击右上角“部署”,博客就搭建完成了。点击“访问”,可以看到博客网站的最初的样子。然后右下角“管理站点”,输入步骤5设定的用户名和登录密码,就能进入网站后台写文章、管理文章了。写文章的页面使用的是markdown格式,且支持实时预览,可以随时看到自己输入的文字、代码以及图片链接最终呈现的效果,很适合用来学习markdown语法。
写好文章后,点击保存。此时不要忘记,一定要点击“发布”,这样网站才会彻底刷新,所有新变化才会被推送出来。只要执行了以下操作,都需要点击“发布”:
由于前端使用缓存,以下操作需要发布:新建文章、发布文章、修改后台配置、修改workers配置
前端生效需要ctrl+F5 强制刷新。 刷新网页后,就会看到刚才最新编辑的文章。至此,博客的搭建工作就完成了。
四、将所购域名指向博客
此时的博客只有cloudflare自动生成的.dev域名,不方便记忆与检索。绑定自定义域名后,别人就可以通过该域名访问我们的博客了。具体设置如下:
cloudflare主页 - 计算和AI - workers和pages - blog项目 - 设置 - 域和路由 - 添加 - 自定义域
需要添加两次,一次是www.xxxx.top,另一次是xxx.top。由于我们已经此前已建立过解析,所以网站会帮我们自动配置好DNS解析。这样别人通过任意方式都可以访问博客。这是我搭建好的博客:www.lingualog.top,只测试了几次,还没来得及更新文章。
由于这个github仓库中只有5个主题,且相对比较简陋,所以现阶段博客更适合放一下文本和图片。具体该如何美化、修改更多主题,等以后有需要、有时间再进一步学习。
参考自:
- 零度博客:Cloudflare-workers-blog 搭建一个免费的动态博客!有前端和后台
- 零度解说油管频道:Cloudflare 免费用到爽!Workers/Pages 搭建无限图床、个人导航站、博客等全搞定!
- 科技lion油管频道:全网最详细搭建博客教学 Google Blogger遇上cloudflare 建站优化一条龙!
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。