评论系统Twikoo搭建
评论系统Twikoo搭建
Frank Dum1.云函数部署
1.申请并登录 Netlify 账号,创建一个 Team
2.打开 twikoojs/twikoo-netlify 点击 fork 将仓库 fork 到自己的账号下
3.回到 Netlify,点击Projects- Add new project - Import an existing project
4.点击 Deploy with GitHub,如果未授权 GitHub 账号,先授权,然后选择前面 fork 的 twikoo-netlify 项目
5.点击 Deploy twikoo-netlify,部署完成后,此时会提示缺少MONGODB_URI环境变量。
6.参考步骤2,申请 MongoDB AtLas 账号并根据当前服务部署的区域选择对Mongodb数据库对应的区域。以下为查看Netlify服务器区域方式
7.当MongoDB数据库申请完成,并配置好数据库用户密码及连接字符串后;进入部署的Project,选择Project configuration,点击 Add environment variables - New variable,Key 输入 MONGODB_URI,Value 输入前面记录的数据库连接字符串
8.域名配置,点击Domain management,进入Production domains - 右侧 Options - Edit site name,可以设置属于自己的三级域名(https://xxx.netlify.app)
9.配置添加完成后,进入Deploys菜单,
进入 Site overview,点击上方的链接,如果环境配置正确,可以看到 “Twikoo 云函数运行正常” 的提示
上图中的地址即为云函数地址(包含 https:// 前缀和 /.netlify/functions/twikoo 后缀,例如 https://xxx.netlify.app/.netlify/functions/twikoo),将其配置在博客主题的config文件
2.MongoDB Atlas
MongoDB Atlas 是 MongoDB Inc 提供的 MongoDB 数据库托管服务。免费账户可以永久使用 500 MiB 的数据库,足够存储 Twikoo 评论使用。
1.申请 MongoDB AtLas 账号
2.创建免费 MongoDB 数据库,区域推荐选择离 Twikoo 后端(Vercel / Netlify / AWS Lambda / VPS)地理位置较近的数据中心以获得更低的数据库连接延迟。如果不清楚自己的后端在哪个区域,也可选择 AWS / Oregon (us-west-2),该数据中心基建成熟,故障率低,且使用 Oregon 州的清洁能源,较为环保。
3.点击Database & Network Access,在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
4.在 Network Access 页面点击 Add IP Address 添加网络白名单。因为 Vercel / Netlify / Lambda 的出口地址不固定,因此 Access List Entry 输入 0.0.0.0/0(允许所有 IP 地址的连接)即可。如果 Twikoo 部署在自己的服务器上,这里可以填入固定 IP 地址。点击 Confirm 保存
5.在 Database 页面点击步骤2创建的集群,点击 Connect,连接方式选择 Drivers,并记录数据库连接字符串,请将连接字符串中的
6.(可选)默认的连接字符串没有指定数据库名称,Twikoo 会连接到默认的名为 test 的数据库。如果需要在同一个 MongoDB 里运行其他业务或供多个 Twikoo 实例使用,修改 MONGODB_URI 连接字符串
如果连接字符串中有 /test,改为 /twikoo 即可
如果连接字符串中找不到 /test,把mongodb+srv://XXXXXX:xxxxxx@cluster0.2s5dnth.mongodb.net/?appName=Cluster0中的 /? 改成 /twikoo?
连接字符串包含了连接到 MongoDB 数据库的所有信息,一旦泄露会导致评论被任何人添加、修改、删除,并有可能获取你的 SMTP、图床 token 等信息。请妥善记录这一字符串,之后需要填入到 Twikoo 的部署平台里。
3.博客中配置Twikoo
twikoo:
envId: https://xxx.netlify.app/.netlify/functions/twikoo
region:
visitor: false
option:














