¶导入
目前网上的统计其实也挺多的,比如:51La、百度统计、微软清晰度。但它们都有一个通病:只有一个后台,无法在前端显示这篇文章(博文)的具体数据,也就无法让访客直观的看到这篇文章的访问量或者说是热度。
于是,不蒜子就诞生了
根据它的开发者的原话:
静态网站建站现在有很多快速的技术和平台,但静态是优点也有缺点,由于是静态的,一些动态的内容如评论、计数等等模块就需要借助外来平台,评论有“多说”,计数有“不蒜”!(多说即将关闭,不蒜子还活着涅,这是程序员对程序员的承诺。)
但,随着github page / vercel 等项目的上线,静态博客公开API的访问量与日俱,会经常出现一些问题:
-
速度慢,不稳定,经常会出现 502 错误。
-
代码过时,使用的是 Referrer 方法进行统计,这种方法在移动端 / Firefox / Safari 上统计不准确。
-
不蒜子的代码使用的是 JSONP 回调,这种方法容易受到 CSRF 攻击,威胁网站安全。
所以,互联网上就涌现了各种各样的busuanzi自建的版本,这也是本次教程的主题。
¶项目
本次的教程使用的是:https://github.com/soxft/busuanzi/
这个教程
Github-soxft/busuanzi-自建不蒜子
它还有一个带管理后台的版本:https://github.com/yuantuo666/busuanzi
然后,这里有一个测试Demo可以使用:测试Demo
¶准备工作!
为了这篇教程,你必须准备以下的内容
-
一台服务器
- 1C1G
- 10G硬盘
- 安装宝塔面板环境
- 安装GO环境!
-
一个自己的域名
-
脑子 (这是喂奶级教程,不带也可以)
tips:
本教程还有docker部署版本,但是我太懒了没有写所以请点击链接跳转到其他站点进行查阅,我不保证链接的可用性(不是我的站点)
docker自部署busuanzi访问量统计服务-清羽飞扬
¶部署
¶易错省流版
-
git clone https://github.com/soxft/busuanzi.git && cd busuanzi
go build -o busuanzi main.go
2.根据提示修改 config.yml
3.编辑 dist/busuanzi.js 替换链接为自己的, 也可以编辑ts文件自行编译
4.通过命令 ./busuanzi 启动程序
¶特殊编译环境准备:GO
后面需要用到GO环境的编译服务器busuanzi核心文件,在这里使用包管理器安装GO
-
Ubuntu/Debian
|
-
Fedora
|
-
CentOS/RHEL
|
¶step-1 资源准备
打开你的宝塔面板 ,进入文件
页面,点击新建目录
,在文件夹的命名框中将文件夹命名为data
,而后确定!
打开github仓库,点击<>code
绿色按钮,在呼出的菜单中右键Download ZIP
,在右键菜单中选择复制链接
回到你的宝塔面板,此时,您应该在文件页面
下的data
目录里面,如果是的,那我们继续!
点击远程下载
在呼出的下拉菜单中选择第一个从URL链接下载
并在弹出的弹窗中输入在上一步获取的链接
,注意:这个输入框已预填充了http://,请覆盖填充,确保链接开头是Https://
点击确定
并等待下载完成!
下载完成后双击
或者右键文件
并在呼出的右键菜单中选择:解压缩
,等待解压完成!
目前为止,所有资源准备就绪!
记得把busuanzi-main
更名为busuanzi
!!!!!!
¶step-2 添加网站
接下来跳转到网站页面,点击添加站点
在弹出的弹窗中选中域名
输入框并在里面输入你的域名。然后,选中根目录输入框并点击后面的文件夹
小图标。选择目录
到你安装busuanzi的地方
,即/busuanzi
确认,安装!
进入新网站的管理页面:
在你的DNS服务商那里添加你域名的DNS记录方便访问。
因为DNS服务商太多了,这里不一一列举,我拿我用的Cloudflare举例子。
图片里面的busuanzi少打了一个a,不要学我。
记得提前配置SSL!
¶step-3 数据库
完成网站的配置后进入宝塔面板的数据库
页面,选择Redis
数据库,如果你没有安装Redis数据库,它会提示您安装,点击点击安装
并在弹出的弹窗中点击快速安装
等待安装完成
¶step-4 进入配置
其实在等待数据库安装的时候我们就可以去调整配置了,这个步骤非常重要,将会影响到你的busuanzi可不可以正常使用,没搞好的话要重新下载,重新部署
进入你busuanzi的安装位置,在这个教程的安装位置应该是~/data/busuanzi
,在宝塔面板中的文件页面
中打开这个目录。
找到data/busuanzi/config.yaml
配置文件,你也可以在SSH中输入
|
来使用ssh进行配置
在这里,你只需要更改Redis的地址,将Redis
下面的Address
字段中Redis:6379
更改为127.0.0.1:6379
保存即可,当然,我也建议您将数据有效期关闭,原来的有效期是一个月
,这有点短了。
宝塔面板按快捷键Ctrl
+s
保存,vim编辑器使用:wq
保存并退出。
接着,保存并关闭配置文件,进入目录下面的/dist
文件夹,找到里面名为/busuanzi.js
的JavaScript文件,绝对路径是:/data/busuanzi/dist/busanzi.js
,宝塔面板双击编辑,ssh使用命令:
|
进入编辑器,
将http://127.0.0.1:8080/api
改为https://你的域名/api
,加入你要使用SSL的话,请必须将http
改为https
,否则,在生成后,你将无法修改http的属性,有可能要重新部署!
同样:宝塔面板按快捷键Ctrl
+s
保存,vim编辑器使用:wq
保存并退出。
¶step-5 编译
在确保上面的配置均无异常以后,我们准备开始编译busuanzi服务器了,这一步比较简单,让我们开始吧!
回到busuanzi的根文件夹/data/busuanzi
,你可以使用宝塔自带的ssh终端,也可以使用自己的终端,在宝塔终端中输入:
|
在其他ssh软件中输入:
|
回车
223开头的是客户端IP哦
指令输出:
|
¶step-6 反向代理
我们的不蒜子是运行在8080
端口的,所以,我们得让其他人可以不带端口的访问,这就是反向代理。
再次回到宝塔面板的网站控制,在你的不蒜子站点后面选择设置
在弹窗中选项卡选择反向代理-添加反向代理
接着,在创建反向代理
弹窗中选择名称
和目标URL
字段。
名称
可以随便填
目标URL
必须为:http://127.0.0.1:8080
点击提交
回到busuanzi
的根目录,在ssh中键入./busuanzi
以启动服务器
访问【你的域名】即可看到不蒜子服务器成功启动!
守护进程参见:链接
¶使用
部署完成了,接下来是使用
你可以看到,自建不蒜子API页面已经有了使用的教程,但是,这里有一个小问题:它不是你部署的那个不蒜子,而是开发者的Demo。所以,你要使用的话,就必须将它给的api地址换成你的。
还有就是,你要看下面的访问量,有数据才是成功
¶疑难杂症
¶关闭ssh就退出-守护进程
目前还有一个问题,就是你一旦退出ssh,那么你的不蒜子就会退出,这边给你一个小方法来解决这个问题,那就是:创建系统守护进程
其实挺简单,在/usr/lib/systemd/system
下面创建一个叫做:busuanzi.service
的守护进程文件。
宝塔用户自己在文件
页面找过去,双击编辑。喜欢用SSH的输入下面的指令:
|
将下面的内容复制过去,在本教程中[你的busuanzi路径]
均为/data/busuanzi
|
同样:宝塔面板按快捷键Ctrl
+s
保存,vim编辑器使用:wq
保存并退出。
接下来,使用指令SSH:
|
来重载服务器守护进程配置
这样,守护进程就完成配置了
-
启动:
systemctl start busuanzi
-
关闭:
systemctl stop busuanzi
-
配置开机自启:
systemctl enable busuanzi
-
取消开机自启:
systemctl disable busuanzi
-
状态:
systemctl status busuanzi
-
重启:
systemctl restart busuanzi
开机自启!
¶关闭ssh就退出-tumx服务
tmux是一种ssh持续化程序,它可以将你离开前的SSH服务保持为运行的状态,即使你关闭了ssh终端,你的命令依旧可以在服务器中运行,并不用担心你离开有服务就停止运行。
但它是命令行程序,所以不太适合那些喜欢用服务器面板的读者。
你可以使用
centOS
|
debian
|
安装后在shell终端输入
|
即可!
¶最后的最后
不蒜子只是对于文章活跃度的指标,有盗刷的风险,本质上是给人看的东西,那应该也要搞好,是吧?
目前这个busuanzi演示站点将会很快关闭,大家如果真的不想自建的话可以使用这个:
|
还有,感谢看到这里的你,谢谢!