手把手教你如何搭建自己的 Twikoo 评论系统

手把手教你如何搭建自己的 Twikoo 评论系统
KELEN什么是 Twikoo
Twikoo 是一个简洁、安全且免费的静态网站评论系统,支持在网站中快速集成评论功能。Twikoo 评论系统的特点如下:
- 免费搭建(使用云开发 / Vercel / 私有部署评论后台)
- 简单部署(支持云开发 / Vercel 一键部署)
更多 Twikoo 请查看 Twikoo 官网。
搭建流程
我们本次搭建基于 Vercel 平台,Vercel 是一个 Serverless 部署平台,支持一键部署 Next.js、Nuxt.js、Vue.js、React 等前端项目。我们将使用 Vercel 一键部署 Twikoo 评论系统。本文默认你已经有了 Vercel 账号,如果没有请先注册一个 Vercel 账号。
MongoDB Atlas
MongoDB Atlas 是 MongoDB Inc 提供的 MongoDB 数据库托管服务。免费账户可以永久使用 500 MiB 的数据库,足够存储 Twikoo 评论使用。
- 申请 MongoDB AtLas 账号
- 创建免费 MongoDB 数据库,区域推荐选择离 Twikoo 后端(Vercel / Netlify / AWS Lambda / VPS)地理位置较近的数据中心以获得更低的数据库连接延迟。如果不清楚自己的后端在哪个区域,也可选择
AWS / Oregon (us-west-2)
,该数据中心基建成熟,故障率低,且使用 Oregon 州的清洁能源,较为环保 - 在 Database Access 页面点击 Add New Database User 创建数据库用户,Authentication Method 选 Password,在 Password Authentication 下设置数据库用户名和密码,建议点击 Auto Generate 自动生成一个不含特殊符号的强壮密码并妥善保存。点击 Database User Privileges 下方的 Add Built In Role,Select Role 选择 Atlas Admin,最后点击 Add User
- 在 Network Access 页面点击 Add IP Address 添加网络白名单。因为 Vercel / Netlify / Lambda 的出口地址不固定,因此 Access List Entry 输入
0.0.0.0/0
(允许所有 IP 地址的连接)即可。如果 Twikoo 部署在自己的服务器上,这里可以填入固定 IP 地址。点击 Confirm 保存
- 在 Database 页面点击 Connect,连接方式选择 Drivers,并记录数据库连接字符串,请将连接字符串中的
<username>:<password>
修改为刚刚创建的数据库用户名:密码
- (可选)默认的连接字符串没有指定数据库名称,Twikoo 会连接到默认的名为
test
的数据库。如果需要在同一个 MongoDB 里运行其他业务或供多个 Twikoo 实例使用,建立加入数据库名称并配置对应的 ACL。
连接字符串包含了连接到 MongoDB 数据库的所有信息,一旦泄露会导致评论被任何人添加、修改、删除,并有可能获取你的 SMTP、图床 token 等信息。请妥善记录这一字符串,之后需要填入到 Twikoo 的部署平台里。
Vercel 部署
注意:Vercel 部署的环境需配合 1.4.0 以上版本的 twikoo.js 使用
默认域名*.vercel.app
在中国大陆访问速度较慢甚至无法访问,绑定自己的域名可以提高访问速度
- 申请 MongoDB Atlas 账号,获取 MongoDB 连接字符串
- 申请 Vercel 账号
- 点击以下按钮将 Twikoo 一键部署到 Vercel
- 进入 Settings - Environment Variables,添加环境变量
MONGODB_URI
,值为前面记录的数据库连接字符串 - 进入 Settings - Deployment Protection,设置 Vercel Authentication 为 Disabled,并 Save (这一步我没配置,好像也没问题?)
- 进入 Deployments , 然后在任意一项后面点击更多(三个点) , 然后点击 Redeploy , 最后点击下面的 Redeploy
- 进入 Overview,点击 Domains 下方的链接,如果环境配置正确,可以看到 “Twikoo 云函数运行正常” 的提示
- Vercel Domains(包含
https://
前缀,例如https://xxx.vercel.app
)即为您的环境 id
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果