Valine-Admin评论系统部署

​ 之前写过一篇《给hexo添加Valine评论功能》,但是站长收到评论没有通知,导致有访客有所评论都未能及时回复,变成了单向的个人博客,我的小天地,在昨晚一次机缘巧合下摸索到了新的方法,不仅仅支持有人评论,站长有通知,还可以管理评论,甚至可以拦截广告,垃圾评论等。

以下教程是建立在已由Valine评论的基础上完成的,若是没有安装Valine评论可以产考《给hexo添加Valine评论功能》或是官网的使用教程《快速开始》

Valine-Admin

Valine Admin 是 Valine 评论系统的扩展和增强,主要实现评论邮件通知、评论管理、垃圾评论过滤等功能。支持完全自定义的邮件通知模板。基于Akismet API实现准确的垃圾评论过滤。此外,使用云函数等技术解决了免费版云引擎休眠问题,支持云引擎自动唤醒,漏发邮件自动补发。兼容云淡风轻及Deserts维护的多版本Valine。

快速部署

1.在Leancloud云引擎设置界面,填写代码库并保存:

1
https://github.com/DesertsP/Valine-Admin.git

Leancloud云引擎设置

2.在设置页面,设置环境变量以及 Web 二级域名。

  • 申请 web 主机域名必须先通过实名认证,审核速速的还是很快的,一个上午就通过了。

设置环境变量

变量 示例 说明
SITE_NAME Nobige [必填]博客名称
SITE_URL https://Nobige.cn [必填]首页地址
SMTP_SERVICE QQ [新版支持]邮件服务提供商,支持 QQ、163、126、Gmail 以及 更多
SMTP_USER xxxxxx@qq.com [必填]SMTP登录用户
SMTP_PASS xxxxxxxx [必填]SMTP登录密码(QQ邮箱需要授权码)
SENDER_NAME 路人甲 [必填]发件人
SENDER_EMAIL xxxxxx@qq.com [必填]发件邮箱
ADMIN_URL https://xxx.leanapp.cn/ [建议]Web主机二级域名,用于自动唤醒
BLOGGER_EMAIL xxxxx@gmail.com [可选]博主通知收件地址,默认使用SENDER_EMAIL
AKISMET_KEY xxxxxxxxxxxx [可选]Akismet Key 用于垃圾评论检测,设为MANUAL_REVIEW开启人工审核,留空不使用反垃圾

以上必填参数请务必正确设置。

二级域名用于评论后台管理,如https://phpMyAdmin.leanapp.cn

设置二级域名

切换到部署标签页,分支使用master,点击部署即可

第一次部署需要花点时间。

部署

评论管理。访问设置的二级域名https://二级域名.leanapp.cn/sign-up,注册管理员登录信息,如:https://phpMyAdmin.leanapp.cn/sign-up

数据库导出

如果打开出现的是Not Found 则是要删除 数据库**_User** Class所有的数据

删除所有数据

存储 - _User - 其他 - 删除所有数据

删除所有数据

如果有数据的话可以先导出数据库(没想到我这小破站还是有人访问的,泪流满面)

数据导出

应用设置 - 数据导出 -根据需求导出

本来高高兴兴,但是却说不能导出???中午12点后不让导出???什么逻辑,真是奇葩。

中午12点后不让导出

习惯性的按起了 Ctrl+Shift+I 看到一个连接,单开一看全是数据,以json的格式提供,大概长这样。若是需要单页显示更多可以在页面上设置,复制保存为json文件,再设置完管理员账号后倒入账号即可。

链接大概长这个样子。

1
https://leancloud.cn/1.1/classes/_User?where=%7B%7D&limit=20&order=-updatedAt

数据导入

​ 存储 - 数据 创建Class 右边的三个点 … - 数据导入 根据自己的情况导入。

数据导入

​ 处理数据需要一点点的时间

处理数据

​ 导入成功后会发邮件提醒。

邮件提醒

设置完自定义环境变量重启实例后就是安装完成了。

自定义环境变量

重启实例

云引擎 - 实例 - 螺母图案 - 重启

重启实例

定时任务设置

目前实现了两种云函数定时任务:(1)自动唤醒,定时访问Web APP二级域名防止云引擎休眠;(2)每天定时检查24小时内漏发的邮件通知。

进入云引擎-定时任务中,创建定时器,创建两个定时任务。

选择self-wake云函数,Cron表达式为0 0/30 7-23 * * ?,表示每天早6点到晚23点每隔30分钟访问云引擎,ADMIN_URL环境变量务必设置正确:

防睡眠

选择resend-mails云函数,Cron表达式为0 0 8 * * ?,表示每天早8点检查过去24小时内漏发的通知邮件并补发:

发邮件

添加定时器后记得点击启动方可生效

至此,Valine Admin 已经可以正常工作,更多进阶配置。请查看GitHub个人觉得没有什么必要,除非你觉的邮件通知的样式太丑了,或是需要添加 垃圾评论检测

邮件通知

站长的长个样子

站长邮件通知

评论被回复

评论被回复

评论管理后台

​ 评论管理后台不知道是不是我这小站评论少的问题,还是压根就没有分页,打开后全部的评论一股脑的加载出来,若是没有图片的话还好,若有图片的话性能差点的电脑可能出现卡死的现象。

评论管理后台

项目地址

1
https://github.com/DesertsP/Valine-Admin

常见问题解决

​ 2019-6-04补充

​ 最近几天收到了关于应用的Email,说是出了故障什么的,但是自从这篇文章写完后很久都没有去管了,今天又收到一位小老弟的Email说是按本文章部署的过程中出现了Not Found的错误,他的操作也是按我上文给出的删除user表,但是没有解决问题,这里稍微的说一下,为什么是删除user表而不是其他的操作?

​ 我在现在用Google搜索了一下发现没有相同的案例,唯一一个相关文章还是我所写的就是本文[关键词 Valine-Admin Not Found],其实这句话是官方说明的另一种表达意思,官方是这么说的

注:使用原版Valine如果遇到注册页面不显示直接跳转至登录页的情况,请手动删除_User表中的全部数据。

​ 而我给那位小老弟的回复是尝试一下实例,who?重启大法好!

2.第二个则是故障在我查了日志后发现是授权码的问题,修改一下,重启实例又可以正常的通知邮件啦!

LeanCloud错误邮件

实例日志

最最重要的是要学会看日志!

最最重要的是要学会看日志!

最最重要的是要学会看日志!

参考

管理控制台使用指南 - LeanCloud 文档

快速开始 | Valine

DesertsP/Valine-Admin: A simple comment system based on LeanCloud and Valine. 👉