自建不蒜子API
前言
由于不蒜子是公益项目,访问的人数相当之多,这也就导致了不蒜子的公共API经常咕咕咕,同时也影响了网站的加载,所以就打算自建一个不蒜子API。
github项目地址
https://github.com/soxft/busuanzi
环境要求
本次主要是使用docker部署,所以需要服务器上有docker环境。
安装过程
1)在任意目录下,新建docker-compose.yaml
文件,输入以下内容:
1 | version: "3.8" |
在上方的内容中,你需要修改API_SERVER为你自己的地址,例如:https:\/\/busuanzi.aimiliy.top\/api
,上方的映射端口如果被占用,你可以修改成其他任意端口。
2)进入docker-compose.yaml
所在目录,运行以下命令:
1 | docker-compose up -d |
3)以上操作完成后,对上方端口设置nginx代理即可。访问代理地址出现如下页面,即为安装完成。
使用方法
首先,需要将不蒜子的API替换为你的自建API,例如:https://busuanzi.aimiliy.top/js, 然后你需要将你主题中所有类似的busuanzi_page_value_pv替换为上方截图中显示的id。
数据迁移
虽然你已经完成了不蒜子API的建立,但是如果你不想放弃你原本的统计数据怎么办,所以这个时候你就需要对你原始的数据进行数据迁移了。项目地址:https://github.com/soxft/busuanzi-sync
迁移过程
1)首先停止运行不蒜子,输入以下命令:
1 | docker-compose down |
2)备份dump.rdb,如果你已经使用自建不蒜子一段时间了,还是建议提前做好数据备份。数据文件在data
文件下,如下所示:
3)由于我的服务器无法访问不算子API。所以此次采用的是本地进行数据迁移,参考:如何将原版不蒜子busuanzi的数据迁移到自建不蒜子上
在本地行进数据迁移需要docker环境,请提前准备好相关环境。下面是具体的迁移步骤:
1、将你服务器上的不蒜子的数据文件dump.rdb放到你本地的任意文件下。例如:D:/busuanzi/data/dump.rdb
2、打开任意终端输入以下命令拉取最新的Redis镜像:
1 | docker run -d --name redis-server \ |
3、在D:/busuanzi/data
目录下方创建.env
文件,内容如下:
1 | 在此处指定您的博客 sitemap 地址 |
4、将下载的转换工具放到D:/busuanzi/data
下方,然后运行转换工具即可。转换的过程有点耗费时间,你原始不蒜子的访问量越高越耗时。转换完毕之后,我们可以在本地找到转换后的dump.rdb
,替换服务器上的dump.rdb
, 然后重新启动即可。