自建busuanzi统计静态博客访问量
前言
Busuanzi是一个轻量级的网站访问统计工具,可以跟踪每个页面的浏览量,记录访问网站的独立访客数量,旨在为网站管理员提供简单而有效的访问统计信息。
在搭建这个博客的时候,用到Hexo+Butterfly主题中默认配置的busuanzi来统计博客的访问量,发现一直访问不到,F12看发现是busuanzi提供的服务502了,搜罗了一圈,发现还是自己自建一个busuanzi服务比较方便,也不会占用vps太大的内存。
我使用到了:一个备案的域名,一台vps
使用Docker搭建busuanzi服务
docker-compose.yml:
1 | version: "3.8" |
这里需要配置的是:
- 端口号默认8080,可以更改为别的端口,例如:
- "88:8080" - BSZ_SECRET:签名密钥,设置为随机值
- API_SERVER:配置为busuanzi的地址,例如:
https://busuanzi.enxiaohao.cn - WEB_CORS:配置为博客的域名,例如:
https://blog.enxiaohao.cn
使用docker compose up -d启动服务,使用ip访问出现这个界面,并且访问/api有json的返回就说明服务正常。
1 | {"data":{"project":"https://github.com/soxft/busuanzi","usage":"https://github.com/soxft/busuanzi/wiki/usage"},"message":"invalid referer","success":false} |
直接访问/api会因为referer等参数的不同失败,不过没关系,这里我们只是测试服务可以正常运行。
配置域名和Nginx反代
为busuanzi服务单独配置一个域名,写一个A记录到服务器ip。
我这里使用npm配置了nginx反代,比较方便(开启Block Common Exploits,配置SSL证书)
现在就可以使用反代的域名对busuanzi服务进行访问了
配置静态博客网站
我使用的博客是hexo+butterfly主题,以这个为例,需要修改的是:
- CDN.option.busuanzi处,修改为:
https://busuanzi.enxiaohao.cn/js - 还有一个坑,我的butterfly主题使用的字段id是
busuanzi_page_value_pv,而服务的id为busuanzi_page_pv,要去把id修改过来:
有三处位置,分别对应的是博客浏览量,博客浏览人数和文章浏览量。
错误排除
如果出现一直转圈的错误,可以使用F12,进入网络处看看控制台有没有报错、请求包和状态码是否正常,最终正常运行:





