前言
我的博客采用了WPStatistics插件来对网站流量进行统计分析,但是有时我发现在线用户数会莫名的很多,评论人员的IP属地有时也会出现错误,感觉这个插件还是有些小问题。
通过访问大佬们的博客发现了umami这个工具,觉得很不错,自己也来试一下。
Umami是一个统计网站流量信息的工具,界面大致如下:
环境准备
不熟悉docker的小伙伴可以先看看这篇文章:《Docker入门基础》
安装Docker和Docker-compose
umami版本:v2.13.1
,具体可以看看原作者的项目。
开始搭建
修改工作目录
#创建文件夹并进入该文件夹
work=~/docker/umami && mkdir -p $work && cd $work
这里有一点疑问,为什么该文件夹要放在~
目录下,我平时的使用习惯是放在/
目录下,这可能涉及到存储相关的优化问题,以后有空要研究一下。
写入Docker-compose代码
新建docker-compose.yml
文件:vim docker-compose.yml
---
version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3000:3000" # 按需修改
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: replace-me-with-a-random-string
depends_on:
db:
condition: service_healthy
restart: always
healthcheck:
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
interval: 5s
timeout: 5s
retries: 5
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: umami # 数据库名,不建议改
POSTGRES_USER: umami # 数据库用户,不建议改
POSTGRES_PASSWORD: umami # 数据库密码 按需修改
volumes:
- umami-db-data:/var/lib/postgresql/data
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
volumes:
umami-db-data:
镜像文件本地存档:umami | AList (xmhweb.cn)
不知道是不是docker hub被墙的原因,启动umami时镜像拉取失败了,由于没有代理,只能使用公司专线先下载镜像,然后导出镜像包,再通过SCP上传到云服务器。
镜像导出:docker save -o /alpine.tar postgres:15-alpine
上传到云服务器:scp
alpine.tar
<云服务器用户名>@<云服
务器IP>:<云服务器路径>
如果要从windows上传文件到云服务器,可以使用FTP:Windows系统通过 FTP 上传文件到云服务器
镜像导入:docker load -i
alpine.tar
使用docker images
验证是否导入成功。
启动Umami
docker-compose up -d
映射sql
如果是旧版umami则需要进行数据库初始化,新版的数据库初始化已经内置在umami程序中了。可以省略这一步
反向代理
我用的是Linux宝塔面板,所以我想使用反向代理,通过公网域名umami.xmhweb.cn
进行访问。
在腾讯云中添加一条解析记录。
在宝塔面板添加站点。
创建反向代理
申请一个免费的SSL证书。
添加完成SSL证书不知道为什么还是显示不安全,并且不知道为什么腾讯云中的SSL证书不生效。可能是需要时间,过一段时间就显示安全了。
配置umami
访问http://ip:3000
,打开的是英文界面,右上方可以切换语言,默认用户名为admin
,密码为umami
。由于我是腾讯云,所以还需要放通3000
端口。
添加一个网站
启用共享链接,打开该链接的人都可以看到Umami的基本统计信息(可以将该链接放在博客上,方便随时查看博客流量),但是有一些信息是只有登陆后台才能查看的。
获取跟踪代码
对于使用wordpress建站的,复制跟踪代码到Argon主题的页头脚本。
到这里就可以正常访问了。
版本升级
要更新 Docker 映像,只需拉取新映像并重新构建(暂时没有实践过):
docker compose pull
docker compose up --force-recreate
相关链接
Docker系列 通过umami监控网站流量 – Bensz
评论