原文地址:https://lala.im/7601.html,請支持原作者!該處僅作轉載。
Umami是一个可以自建的网站统计系统,可以作为CNZZ/51.LA/GoogleAnalytics的替代品。
在自建网站统计系统这块,还有一个比较有名的是Matomo,其前身是Piwik。
我在很久前用过Piwki一段时间,说实话当时体验不太好,主要是太吃资源了,流量一大内存就用的特别多。
这个Umami很小巧,只需要100M左右内存就能非常流畅的运行,功能也很丰富,界面更是漂亮无比~
以下是我把Umami统计代码挂在我的一个图床站点的演示:
详细数据:
实时数据:
题外话:
这里要感谢一下CloudFlare,我这个图床站接入到CF后帮我节省了很多的流量。缓解了机器每个月流量不够的问题。
下面进入到部署Umami的正题,这里我使用docker部署,首先安装docker和一些需要用到的工具:
apt -y update
apt -y install curl git nginx python-certbot-nginx
curl -sSL https://get.docker.com/ | sh
systemctl enable docker nginx
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
拉取项目代码:
git clone https://github.com/mikecao/umami.git
cd umami/
编辑项目内自带的compose文件:
nano docker-compose.yml
其实你可以直接以默认的配置up起来,但是我建议把下面注释提到的内容改一下:
version: '3'
services:
umami:
image: ghcr.io/mikecao/umami:postgresql-latest
ports:
- "127.0.0.1:3000:3000" # 仅监听在本地
environment:
DATABASE_URL: postgresql://username:password@db-umami:5432/umami # 配置数据库用户和密码
DATABASE_TYPE: postgresql
HASH_SALT: replace-me-with-a-random-string
depends_on:
- db-umami
db-umami:
image: postgres:12-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: username # 数据库用户
POSTGRES_PASSWORD: password # 数据库密码
volumes:
- ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
- umami-db-data:/var/lib/postgresql/data
volumes:
umami-db-data:
确实无误后up起来即可:
docker-compose up -d
接下来新建nginx反向代理的配置文件:
nano /etc/nginx/conf.d/umami.conf
写入如下配置:
server {
listen 80;
server_name zero.233.fi; # 换成你的域名
client_max_body_size 0;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
检查你的nginx配置:
nginx -t
没问题的话,使用certbot签发一个ssl证书:
certbot --nginx
打开你的域名使用默认的管理员账号:admin密码:umami登录:
登录进去后第一件事是更改你的密码,之后你就可以添加一个网站了,这里有一个共享的按钮,意思就是公开统计报表:
最后在你需要统计的站点上插入代码即可: