解决LeanCloud流控问题以及配置DaoVoice

最近hexo博客的评论系统valine遇上一点问题,本篇就来记录下我的解决方法。

1 LeanCloud流控问题

如果用valine评论系统的同学最近打开valine部署的日志可能会发现诸如此类的信息。

事实上我在valine的用户群里有看到相关的官方消息。

其实就是大家都用这套系统,导致有点负载不了。因此官方做了控制。所以解决方式无非就是交钱(付费版不限制)或者用其他方式唤醒LeanCloud。这个的方案目前我看到的有几种,有一位大佬写了博客记录。下面是该大佬相关的博客解决方案记录。具体内容大家可以移步他的博客看相关解决方案。

优雅解决LeanCloud流控问题

因为我自己有阿里云的服务器,所以我的解决方法就是在服务器上设置定时任务唤醒即可。如果没有服务器的同学欢迎看上面的博客寻求其他解决方案。这个方法其实在最早的邮件通知里就有提到。

Hexo 优化 — 支持邮件通知的评论 Valine 增强版

唤醒LeanCloud的软件是crontab,这个是Linux的定时执行工具,而且是内置服务。只需要做一下配置即可。我的系统是Ubuntu。首先改下cron的默认配置。

1
vim /etc/rsyslog.d/50-default.conf

用vim打开以后可以发现这个问题,这个时候只需要把前面的#去掉再保存。然后重启服务。

1
service cron restart

接下来只需写定时任务即可。

1
crontab -e

由于我没有设置默认的编辑器。因此会跳出这个界面。

如果想设置默认的,可以用这个语句。

1
2
3
#以下两行任选其一
export EDITOR=vim
export EDITOR=/usr/bin/vim.basic

然后输入如下的定时器代码。

1
*/20 7-23 * * * curl https://你配置的域名前缀.leanapp.cn

接下来只需保存退出,按Ctrl键和O键保存,然后回车确定。

出现这个意为成功。

这里还参考了几篇相关文章,链接会在最后一并给出。

2 DaoVoice

由于前几天不小心关闭了163的SMTP服务,又有点小差错,没法立即修复valine评论。我考虑了下,增加了DaoVoice的在线聊天功能。这个功能在上一次的优化中有提到,但是没有设置。这次补上。

hexo+NexT博客最新定制记录

首先需要注册这个网页。然后在自己的登陆界面点击应用设置,然后点击安装到网站。这里打码的是你的id。接下来只需要把你的id放到主题里。

首先是在Next主题的配置文件博客/themes/next/_config.yml末尾中添加用户ID。

1
2
daovoice: true
daovoice_app_id: 用户ID

接着打开/themes/next/layout/_partials/head.swig文件添加如下代码:

1
2
3
4
5
6
7
8
9
{% if theme.daovoice %}
<script>
(function(i,s,o,g,r,a,m){i["DaoVoiceObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;a.charset="utf-8";m.parentNode.insertBefore(a,m)})(window,document,"script",('https:' == document.location.protocol ? 'https:' : 'http:') + "//widget.daovoice.io/widget/0f81ff2f.js","daovoice")
daovoice('init', {
app_id: "{{theme.daovoice_app_id}}"
});
daovoice('update');
</script>
{% endif %}

这样子就可以集成DaoVoice的在线聊天功能了。当然也可以在DaoVoice的官网调整聊天窗口。

最终效果。

参考文章: