LanYunのBlog

LanYunのBlog

马上订阅 LanYunのBlog RSS 更新: https://lanyundev.com/atom.xml

自建busuanzi不蒜子平台统计平台

2023年8月19日 16:12

前言

公益统计服务busuanzi官网: https://busuanzi.ibruce.info/

由于速度很慢,故打算自建. 本文用到的项目地址: https://github.com/soxft/busuanzi

本来不想水一篇的,因为项目中的wiki已很清楚了,而且还支持docker部署.

但我还是想简单记录一下搭建过程(省略了某些简单的步骤),各位可以参考参考.

本文不采用docker方式搭建,因为要和cloudflared搭配,组成隧道.

基本前提: 有域名,有linux服务器

本文linux服务器以arch Linux为例.

编译

在你想要的目录下运行命令.(下面示例为root)

1
2
3
4
5
pacman -S git go redis # 如果已安装可以跳过
git clone https://github.com/soxft/busuanzi.git # 可以拉取我fork的仓库
# https://github.com/LanYunDev/busuanzi.git 我合并了yuantuo666和soxft仓库,代码最新且带有web管理功能.
cd busuanzi
go build -o busuanzi main.go

修改配置

修改busuanzi目录下config.yml配置文件.

首先是Web中的Address,由于我们要做隧道,所以没必要公网访问,所以加上127.0.0.1:xxx ,这里xxx代表端口号,建议填高位.

可以用命令 lsof -i -n -P | grep LISTEN 来检查端口使用情况,

Debug测试的时候可以开一下,后面建议关了.

接下来就是Redis部分

首先Address为你redis的地址.例如本机: 127.0.0.1:6379

AddressPassword,如果你是全新安装的,没动过redis配置,那就不用改.

但如果改了,或者想确认一下.可以这样做.

输入命令

1
2
cat /etc/redis/redis.conf | grep '^port' # 端口
cat /etc/redis/redis.conf | grep '^requirepass' # 密码,如果没有结果代表是被#注释了,即为空密码

关于Expire,自用的话,可以设置为0

关于JwtSecret,我推荐用uuid来做签名密钥. 输入命令uuidgen即可得到uuid

修改 dist/busuanzi.js文件中api的地址.例如我改为https://busuanzi.lanyundev.com/api

如果你用带有web管理功能的busuanzi

Admin中Password记得改密码.

添加隧道

关于cloudflared搭建哪些看官方文档就行了,写的非常清楚.

记录一下,添加DNS记录命令: cloudflared tunnel route dns -f xxx busuanzi.lanyundev.com

主要注意一下,cloudflared进行DNS(dig)查询时,别被劫持了.(如果能用,就不用管这个.)

启动服务

1
systemctl enable --now redis.service # 设置为开机启动并启动redis

vim /etc/systemd/system/busuanzi.service添加下面内容(ExecStart根据个人情况修改.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[Unit]
Description=busuanzi Service
Documentation=https://github.com/soxft/busuanzi
After=network.target nss-lookup.target

[Service]
Type=simple
#DynamicUser=yes
User=root:
Environment=QUIC_GO_ENABLE_GSO=true
ExecStart=/root/busuanzi/busuanzi
WorkingDirectory=/root/busuanzi/
Restart=on-failure
LimitNPROC=512
LimitNOFILE=infinity

[Install]
WantedBy=multi-user.target

弄成服务,方便管理.

1
2
systemctl daemon-reload
systemctl enable --now busuanzi.service

Web管理

Address + /admin 进入管理界面.可以修改数据.

在没换之前,可以参考这个域名 busuanzi.ibruce.info 的响应,里面有Site PV...

剩余内容已隐藏

查看完整文章以阅读更多