vercel集成MongoDB Atlas部署评论系统twikoo

twikoo评论系统

  • twikoo是一个轻量、快速且功能强大的评论系统,支持多种存储方式,包括MongoDB、MySQL、SQLite等。
  • 官网地址: twikoo
  • github地址: github
  • 支持多种部署方式,docker、vercel、heroku等。
  • 支持多种前端框架,Hexo、Hugo、VuePress等静态站点。

注册MongoDB Atlas账号

tw001.png

  • 前往MongoDB Atlas官网注册账号。
  • 填写必要信息,包括用户名、密码、邮箱等。
  • 验证邮箱,完成注册。
  • 需要注意的是,网站开启了2fa认证,邮箱登录后,需要使用authenticator应用生成的验证码登录,按照提示在手机上安装windows authenticator应用即可。
    tw002.png
  • 登录成功后,选择创建集群,选择aws-us-east-2区域,选择免费 tier。
    tw003.png
  • 在 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
    tw004.png
  • 在 Network Access 页面点击 Add IP Address 添加网络白名单。因为 Vercel / Netlify / Lambda 的出口地址不固定,因此 Access List Entry 输入 0.0.0.0/0(允许所有 IP 地址的连接)即可。如果 Twikoo 部署在自己的服务器上,这里可以填入固定 IP 地址。点击 Confirm 保存。
    tw005.png
  • 回到 Clusters 页面,点击 Connect 按钮,选择 Connect your application,复制连接字符串,格式如下:
    mongodb+srv://<username>:<password>@cluster0.mongodb.net/<dbname>?retryWrites=true&w=majority
    
    # 其中 `<username>` 和 `<password>` 分别是在 Database Access 页面创建的数据库用户名和密码。
    # `<dbname>` 是数据库名称,默认是 `test`。
    # 复制连接字符串后,在 Vercel 项目的环境变量中添加 `MONGODB_URI` 变量,值为复制的连接字符串

在vercel中部署twikoo

使用Gihtub账户登录vercel,选择一键部署

  • 进入 Settings - Environment Variables,添加环境变量 MONGODB_URI,值为前面记录的数据库连接字符串
  • 进入 Settings - Deployment Protection,设置 Vercel Authentication 为 Disabled,并 Save
  • 进入 Deployments , 然后在任意一项后面点击更多(三个点) , 然后点击 Redeploy , 最后点击下面的 Redeploy
  • 进入 Overview,点击 Domains 下方的链接,如果环境配置正确,可以看到 “Twikoo 云函数运行正常” 的提示
  • 进入 Settings - Domains,添加自己的域名,点击 Add,等待域名配置完成进入 Overview,点击 Domains 下方的链接,确认域名配置成功
  • 配置成功后,打开域名如下提示
    成功提示

配置twikoo前端

根据自己的主题的说明文档,配置相应的选项。

后台管理

安装成功后,在前端页面上点击评论,可以进入后台管理页面。
tw007.png
第一次输入的密码就是管理员密码。

配置邮箱提醒

邮件通知配置

参数配置
SENDER_EMAIL邮件通知邮箱地址(必填)。
SENDER_NAME邮件通知标题。
SMTP_SERVICE邮件通知邮箱服务商(必填)。
SMTP_HOST自定义 SMTP 服务器地址(必填),根据你选择的邮箱决定,如QQ为smtp.qq.com。
SMTP_PORT自定义 SMTP 端口,QQ端口可配置为 465
SMTP_SECURE自定义 SMTP 是否使用TLS,请填写 true 或 false(选择true)。
SMTP_USER邮件通知邮箱用户名。
SMTP_PASS邮件通知邮箱密码,QQ、163邮箱请填写授权码。
SENDER_EMAIL必须和SMTP_USER一致
  • 否则会报错:Error: 535 Error: authentication failed
    SMTP_PASS获取
    登录你的qq邮箱或163邮箱,点击设置,选择账号,你就可以在页面下看到 SMTP 配置项。