Umami 是一个简单的网站统计工具,可以代替 Google Analytics
使用 nodejs 编写,需要配合 MySQL 或 Postgresql
使用起来很简单,比起 Google Analytics 比较直观,对 SPA 单页应用也支持不错
虽然我的小破站每天只有 1 IP,但还是想用访问统计工具分析一下,之前一直在用 Google Analytics 和 Cloudflare Web Analytics,虽然功能强大,但国内加载还是有点慢,很影响访客的体验。最重要的是现在很多人都在用广告屏蔽插件或者 DNS,这两个工具都会被 block 而无法加载,导致统计的数据比实际少很多
一直都想找一款自建的统计工具替代掉,之前考虑过用 Matomo,但是看大家反馈说资源占用很大,而且很多功能都用不到,对于个人小站来说没有必要,最近终于发现了 Umami 这款工具,完全符合我的需求。
Debian 11:
安装 nodejs 和 npm
apt install -y nodejs npm
安装 Umami
git clone https://github.com/mikecao/umami.git
cd umami
npm install
最后一步如果出现 ERR! 请用下面代码安装
npm install --legacy-peer-deps
宝塔新建数据库
用户名:umami
数据库名:umami
其他默认
创建.env 文件
echo -e "DATABASE_URL=mysql:// 数据库用户名: 数据库密码 @localhost:3306/ 数据库名
\nHASH_SALT=www-aqa-cc-umami" > .env
为 umami 导入预设好的数据表:
mysql -u 数据库用户名 -p 数据库名 < sql/schema.mysql.sql
最后构建并启动 umami:
npm run build
npm start
然后创建开机服务
vim /etc/systemd/system/umami.service
写入以下内容
[Unit]
Description=Node.js Server
[Service]
WorkingDirectory=/root/umami
Type=simple
ExecStart=/root/umami/node_modules/next/dist/bin/next start
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=node-server
[Install]
WantedBy=multi-user.target
保存退出开启服务:
systemctl enable umami && systemctl start umami
这时候去宝塔放行 3000 端口
然后 http:// 服务器 IP:3000 登录
账号 admin 密码 umami