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登录:
登录进去后第一件事是更改你的密码,之后你就可以添加一个网站了,这里有一个共享的按钮,意思就是公开统计报表:
最后在你需要统计的站点上插入代码即可:
LALA
我什么都不卖了,告辞!
最新评论
5211314
能不能教我 一点不会