不蒜子统计私有化部署
前言
对于Busuanzi
大家应该都不陌生,作为Butterfly
主题默认的访客人数统计功能,因为是公益免费服务很多静态网站都有在使用,正因前者Busuanzi
从而成为了导致很多拖慢博客速度的原因,去年看到洪哥博客就有提到如何自己搭建busuanzi不蒜子平台,因为我个人的感受是不太明显的,放在收藏夹就一直没折腾,前几天又在朋友的博客看到了自部署busuanzi访问量统计服务,当时在我站点上还是觉得没感觉到有拖慢的情况,在昨天下午没事,没忍住还是捣鼓了一下,私有化部署并曲线救国实现了恢复以前的数据。
编排文件
看各位大佬私有化部署都是用的星辰大佬的soxft/busuanzi:一个简单的网站统计分析器,于是我也采用了该项目。
搭建方法我就不过多赘述,网上方法千篇一律,我采用的Docker
容器编排部署
官方配置
version: "3" |
贴上我的容器配置
version: "3" |
修改编排文件
大多数人的
8080
端口都被占用了可以改为其他端口,例如:6381:8080
,需要注意的是后者的8080
为容器应用端口不可任意修改。把最后的
API_SERVER
修改为你的网址,例如你的网址为busuanzi.lxink.cn
,此处的填写就该为https:\/\/busuanzi.lxink.cn\/api
注意协议SSL问题
相比于官方配置,我把redis
的容器端口也映射到了本地,方便曲线救国恢复以前不蒜子的数据。
在配置好编排文件后在编排文件目录启动终端运行docker-compose pull && docker-compose up -d
就能跑起来了,最后在进行反向代理即可。
调用方法
<script async src="https://你的不蒜子API网址/js"></script> |
butterfly
butterfly
需要注意的是:私有化部署的ID名为:busuanzi_page_pv
,主题默认的为:busuanzi_page_value_pv
如果你想全站采用不蒜子统计请修改以下两处
首页全站统计
打开themes\butterfly\layout\includes\widget\card_webinfo.pug
文件把_value
删除
内页文章统计
打开themes\butterfly\layout\includes\header\post-info.pug
文件把busuanzi_page_value_pv
修改为busuanzi_page_pv
最后在配置文件中自定义CDN
引入你的JS
文件
旧数据恢复
环境
PHP
任意版本安装redis
扩展
软件
Tiny RDM 现代 Redis GUI 客户端
因为该项目并没有同步官方不蒜子的接口及方法,所以就导致了很多迁移私有化部署的丢弃了以前的数据,该项目的数据是通过redis
数据库储存,挂载redis
目录下的dump.rdb
文件是没法直接打开的,就想到了通过数据库管理软件连接redis
,开始看了下Navicat
没有提供能够连接redis
数据库的方法,好在想到了前面逛杜老师博客 的时候杜老师有推荐过连接数据库的软件,我采用了Tiny RDM
小巧,轻便。
连接到Busuanzi
这一部就需要用到前面映射到本地的端口,例如上方配置文件中的端口为:6380:6379
,即6380
就是你的外网连接端口
密码默认为空,考虑安全问题,请在恢复数据后取消映射到外网
连不上的情况下检查是否开放服务器安全组的端口
连接上的页面
因为数据都是经过MD5
加密刚连上可能有点懵下面是开发者给出的解答
好在我的数据并不多,不蒜子的统计目前只全站统计,文章浏览依旧是用的Twikoo
的页面统计,最近打算都采用Busuanzi
的打算。
昨天看了下结构想到了生成数据的方法,通过批量生成MD5
来增加全站UV
达到恢复以前数据的方法。
生成数据
写了个PHP
来实现
|
需要注意的是sadd不是适用于ZSET类型
保存PHP
后在你的站点目录通过访问PHP
的URL
就会生成你填写的数量
生成前
生成后
写在最后
PV
可以直接修改数值,页面的UV
可以采用以上方法举一反三
曲线救国的方法或许有点笨拙好在实现了需求
自用的话建议把跨域访问打开,可以少一些无用数据
以上是昨下午折腾的结果,昨晚上也帮朋友清羽飞扬进行了”数据恢复”,众测有效,有更好的办法欢迎各位大佬讨论