Hexo 部署 twikoo 评论系统,邮件推送 versel,被墙导致无法评论的解决方案。
一、配置数据库
1.申请 MongoDB 账号
进入MongoDB注册一个账号。可以使用 github 直接登录。
2.创建 MongoDB 数据库
申请完毕后进入界面,选择最右边的免费共享数据库 ➡️aws➡️N.virginia(us-wast-1)➡️create.
设置用户名和密码,记住密码,后面需要使用。
ip 设置 0.0.0.0/0.
自动跳转至数据库列表首页,点击 connect.
链接应用。
记住第 3 条的代码,后续部署需要用到,且使用时需要把 password 处替换你之前设置的密码。
1 | mongodb+srv://sumor:<password>@sumor0.kxmeq0a.mongodb.net/?retryWrites=true&w=majority |
二、部署到 Vercel
1.申请账号
申请一个Vercel账号.
2.部署仓库
点击以下链接将 Twikoo 一键部署到 Vercel:起名 twikoo 创建。
注:如果导入后出现空白界面或部署失败等现象,极大可能是 Twikoo 的仓库地址更换了,可以参考官网获取部署链接:部署仓库
点击以下链接将 Twikoo 一键部署到 Vercel:https://twikoo.js.org/quick-start.html
点击进入创建的任务页面-visit.
3.新建变量
进入Settings - Environment Variables
页面。
新建一个 NAME 为MONGODB_URI
;VALUE 为你在前面记录到的数据库连接字符串
的环境变量-save 保存。
注意:需要手动输入之前设置的密码,去掉<>,具体如:
1 | mongodb+srv://ambor0225:123456@cluster0.rx4.... |
4.再次部署
进入Deployments
界面,点击右边的竖三点,点击Redeploy
。
5.检验部署结果
回到Overview
,点击 Domains 下方的链接,如果环境配置正确,可以看到 “Twikoo 云函数运行正常” 等字样。
Domains下方的链接
即为后面需要使用到的环境 id。
至此,Twikoo 评论系统部署完成。
三、实现邮件通知
1.开通POP3/SMTP 服务
以网易为例,其他邮箱可自行摸索,原理大同小异。
前往你的邮件服务提供商,发短信开启 POP3/SMTP 服务-保存最后的授权密码,后面要用。
四、配置 Twikoo
1.博客启用 Twikoo
此部分教程以 stellar 主题为例说明,其他主题可参阅对应的使用文档。
配置博客文件_config.stellar.yml
,启用 twikoo 评论:(云函数位于 versel,domains 下的小地球后面)
1 | ######## Comments ######## |
重新启动服务,进入博客页面,随意找到一篇文章,查看最下方的评论处,找到评论下方小按钮。点击设置。
【配置管理】-邮件通知:大部分不用填写,使用默认即可。下面几个必填。
SENDER_EMAIL: sumorio@126.com
SMTP_SERVICE: 126
SMTP_PORT: 465
SMTP_SECURE: true
SMTP_USER: <邮件通知邮箱用户名>(需与 SENDER_EMAIL 一致)
SMTP_PASS: (pop 授权码)
其中DEFAULT_GRAVATAR
参数可以设置评论默认使用的头像类型,头像区别如下:
五、versel 版本不符升级配置
官方文档:https://twikoo.js.org/update.html
- 进入 Vercel 仪表板 - twikoo - > Settings - Git
- 点击 Connected Git Repository 下方的仓库地址
- 打开 package.json,点击编辑
- 将
"twikoo-vercel": "latest"
其中的latest
修改为最新版本号。点> 击 Commit changes- 部署会自动触发,可以回到 Vercel 仪表板,查看部署状态
六、解决 versel 被墙无法留言
- 登录你的域名解析平台,我这里使用的阿里云-进入【域名解析】工作台-添加域名-twikoo+你的域名-txt 授权校验。
- 保存好弹出的验证记录信息,后面要用,先不要点击验证。
- 进入【解析设置】界面,点击进入你的域名后台【添加记录】,将上一步的信息填入对应信息即可。
- 返回第 2 步,进行验证。
进入新增的域名后台,将二级域名解析到 Vercel,新增两条记录。
主机记录 记录类型 解析请求来源(isp) 记录值 TTL twikoo CNAME 默认 cname.vercel-dns.com 10 分钟 @ A 默认 76.76.21.21 10 分钟
- Vercel 项目中添加 Domains
进入【Project Settings】->【Domains】添加域名即可。
- 进入博客后台,替换主题配置文件的_config.stellar.yml 以下内容中的 envid.
最后的最后,要记得重新编译运行查看效果哦~