在Hexo Butterfly主题上使用Artalk评论系统
本篇文章基于Butterfly主题,如果你没有使用此主题,请参考 Artalk官方教程
前言
最近想着博客里用的Valine评论系统有些难受(无法上传图片、使用LeanCloud),于是在一番寻找之后发现了 Artalk评论系统 ,非常符合我的要求awa
Artalk 是一款简洁的自托管评论系统,你可以在服务器上轻松部署并置入前端页面中。
来到你的博客,或是任意位置,放置 Artalk 评论框,让页面具备丰富的社会化功能。——Artalk官方介绍
亮点
- 自托管评论系统,不必担心图床问题。
- 安全性好,数据全部在自己服务器里。
- 轻量而强大
- 部署简单
- 带有创新性的”通知中心“,可直接验证管理员身份进行管理。
部署
我为了方便使用了直接部署方式,除此之外你也可以尝试Docker部署等方式
准备程序
获取程序文件
前往Github Release下载对应操作系统的压缩包
准备程序目录
我强烈建议你为程序单独准备一个工作目录,以便区分。我选择了/opt/artalk目录
1 | mkdir /opt/artalk |
解压压缩包
1 | tar -zxvf 下载的压缩包.tar.gz |
调整后端配置文件
Artalk默认带有一份配置文件artalk.yml,我们直接修改即可。
1 | host: "0.0.0.0" #监听的地址,若不希望全局暴露给外网,请改为127.0.0.1 |
填写完这几项后后端基本配置就已完成,其他配置项可前往「管理面版」进行调整,更加方便。
前端配置
Butterfly主题已经内置了Artalk,只需进行简单的配置即可。
Butterfly Config.yml:
1 | comments: |
在Hexo根目录运行 hexo d -g
重新渲染及部署页面
测试运行
在Artalk目录下执行 ./artalk server
即可启动,如运行结果如下图且无任何错误报告即可进行下一步。
进程守护
若要稳定使用,我们不可能一直开着终端,而且每次重启后还得手动启动,这时候就需要systemd来实现持久化运行了。
配置service文件
sudo vim /etc/systemd/system/artalk.service
填入以下内容
1 | [Unit] |
- 更新 systemd 配置:
systemctl daemon-reload
- 设置开机启动:
systemctl enable artalk
- Artalk?启动!:
systemctl start artalk
- 停止:
systemctl stop artalk
- 查看状态:
systemctl status artalk
Nginx反向代理
将Artalk反向代理到其他端口并开启SSL,我使用了nginx。
假定:
- 你要代理至
https/http ://artalk.website.com
- Artalk本地地址:
http://localhost:23366
为保证安全性,请将Artalk配置文件中的 host
配置修改为 host: "127.0.0.1"
新建站点配置文件: sudo vim /etc/nginx/sites-available/artalk.website.com
填入以下内容:
1 | server { |
重启Nginx:
1 | systemctl restart nginx |
Pjax下的错误修复
很重要,具体看 这篇文章
后记
关于错误
我在搞这评论系统时,有一个问题一直令我头痛不已。就是
Artalk Error 404
网上搜来搜去都找不到问题解决方案,直到我在看F12调试界面的404请求后结合主题配置文件后才发现问题根源: 主题配置文件中server
和 site
的位置刚好被我搞反了。看到这低级的错误后我自己都想笑,最后总结出: 干什么事都一定要 细心,细心,再细心 ,不要想当然的填写信息,至少多对比下文档吧~
几天后的补充:
若评论区一直是空白,请检查site
中是否有空格,我之前设置为Chen's Blog
就无法显示,更改为Blog
就好了。
十几天后的补充:
Pjax搞人心态啊啊啊啊
使用体验
基本就一直用它了,非常好的体验,支持的功能也多,前景非常不错的自托管评论系统。