hexo添加twikoo评论系统
hexo添加twikoo评论系统
记录一下hexo+butterfly+twikoo评论系统的踩坑历程,希望能帮助更多有想法的人
之前一直在用的评论系统是Valine,部署上去是这样的
用国内的valine访问也挺快的,至少不会被墙,但是有次正常访问出现了点问题,我没截图,评论区下面出现了BUG,是valine加载错误导致的,把内部信息暴漏了出来。其实对我这个白嫖用户来说也没啥大问题。
我想着如果哪天valine收费了,岂不是还要折腾,我就在想能不能把评论系统部署在自己的服务器上呢,之前也有过这种想法,但是没能实现。
今天搞了一下发现其实挺简单的,因为twikoo已经支持了私有部署的的功能。总体分为两种,一种是部署本地直接安装twikoo的功能,一种是用docker,这里强烈建议用docker部署,至少它不会被环境干扰导致出现问题,而且本人一开始用的第一种方案,部署上去后就出现了问题:
在本地发送评论可以正常推送,部署到线上后反而无法评论,也无法拉取评论的现象,初步认为是无法正常连通到服务器。
直接用docker来安装吧,这里是twikoo的官网文档云函数部署 | Twikoo 文档,教程不详细且看不懂。
我服务器用的是宝塔面板,操作起来更方便些。这里主讲twikoo评论系统
安装配置
首先安装docker,宝塔面板可以直接安装
安装完成后使用命令创建twikoo的容器
1 | docker run --name twikoo -e TWIKOO_THROTTLE=1000 -p 8080:8080 -v ${PWD}/data:/app/data -d imaegoo/twikoo |
因为docker镜像在国内被封禁的原因,需要配置代理curl,或配置镜像源,需要的可以在某宝上或者网上查找,想方便的建议用淘宝买,1块钱可以下一次镜像,不得不佩服国人的商业头脑
创建好容器后默认的端口是8080,需要放行8080端口
1 | firewall-cmd --zone=public --add-port=8080/tcp --permanent |
查看开放的端口
1 | firewall-cmd --list-ports |
也需要在服务器商的配置安全组放行8080端口
完成后访问http://IP:8080出现一下信息说明配置成功
1 | { |
本地配置
接下来在config_butterfly.yml
配置文件添加twikoo的配置信息
打开主题配置文件config_butterfly.yml
找到comments:
的use:
设置为Twikoo
找到twikoo
的envId:
先设置为http://youIP:8080
1 | twikoo: |
然后保存,hexo三联在本地运行后配置一下twikoo的初始密码
1 | hexo cl;hexo g;hexo s |
找到评论区,点开设置
配置根据它的指引配置一下就可以了
反向代理
然后就是做反向代理,目的就是做https加密,现在明文传输很不安全。
因为我用的宝塔面板,所以配置起来也很方便
首先添加站点
设置为纯静态
然后去阿里云申请一个免费证书数字证书管理服务控制台
如果域名服务商和申请证书的服务商不一样,可能需要配置一下DNS解析,阿里云会有指引配置。
然后下载给的证书,注意是pem和key格式的
分别粘贴到宝塔的密钥和证书上,并开启强制HTTPS
然后在开启反向代理
然后在主题配置文件butterfly_config.yml
修改twikoo
的envID
写为你的域名
最后上线完成