0. 为什么选择 Cloudflare 方案?
相比传统的 Vercel + MongoDB 方案,利用 Cloudflare Workers + D1 数据库可以获得极致的冷启动速度(<0.5s),并且完全免费。结合 R2 存储桶,还可以实现完全自主掌控的评论图床。
1. 环境准备与项目初始化
首先,从官方仓库克隆 Cloudflare 版本的 Twikoo 并安装依赖。
| |
⚠️ 关键优化:绕过 1MB 限制
Cloudflare Workers 免费版有 1MB 的打包体积限制。由于 Node.js 兼容性问题,我们需要手动清空一些无用的包:
| |
2. 配置 Cloudflare D1 数据库
D1 是系统的“大脑”,负责存储所有的评论文字和用户信息。
- 登录 Cloudflare:
1npx wrangler login
创建数据库:
1npx wrangler d1 create twikoo注意:执行后会返回一个
database_id,请记录下来。初始化表结构:
1npx wrangler d1 execute twikoo --remote --file=./schema.sql -y
3. 配置 R2 存储桶 (图床)
如果您已经有了 R2 存储桶(例如 blog-picture),可以直接绑定。
修改 wrangler.toml 文件:
| |
4. 部署与上线
万事俱备,一键部署发布到 Cloudflare 全球节点。
| |
部署成功后,你会得到一个以 .workers.dev 结尾的地址。
5. 修改博客配置 (Hugo 示例)
在 Hugo 博客的配置文件中加入刚部署好的后端地址。
修改 config.yaml
| |
修改 comments.html 模板
| |
6. 后台初始化与管理
访问你的博客,在评论区上方点击小齿轮图标。
- 设置管理密码:第一次进入必须设置。
- 图片上传验证:尝试上传一张图片,检查是否成功存储到了 R2 桶中通过自定义域名预览。
总结
这就是目前最优雅、最快速的评论系统部署方案。所有的评论、配置、图片都掌握在自己手中,且依托于 Cloudflare 的全球网络,真正实现了毫秒级加载!