1. 数据看板
大佬Handsome新做了个数据可视化的插件——数据看板,颜值上还挺好看的,而且比腾讯云EdgeOne和百度统计看着都方便。

2. Umami
使用插件之前需要先部署Umami,👇🏻附上文档地址。
我选择使用Docker Compose安装,在我看来这是最方便的方式了。只是在文档里并没有提供docker-compose.yml内容,好在在github的代码库里找到了。
docker-compose.yml
---
services:
umami:
image: ghcr.io/umami-software/umami: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
init: true
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:是数据库使用的是postgres,而我的服务器上已经安装了mysql,且本站就是使用的mysql,也没必要再去安装一个postgres。
修改后的docker-compose.yml内容如下,删除了和数据库相关的镜像,直接使用已安装的mysql数据库。
services:
umami:
image: ghcr.io/umami-software/umami:mysql-latest
container_name: umami
network_mode: "host"
environment:
DATABASE_URL: mysql://username:password@127.0.0.1:3306/umami
DATABASE_TYPE: mysql
APP_SECRET: replace-me-with-a-random-string
init: true
restart: always
healthcheck:
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
interval: 5s
timeout: 5s
retries: 5APP_SECRET,需要生成一个密钥,用于加密会话和保证数据安全。推荐使用👇🏻命令生成。
openssl rand -base64 323. 安装部署Umami
先建数据库,不然服务启不起来。
create schema umami collate utf8mb4_general_ci;把docker-compose.yml弄到服务器上,拉取镜像并启动容器,这一过程可能会持续很长时间。
docker compose up -d
结束以后查看一下镜像和容器,也都有了。
docker images
docker ps -a
可以看到之前建的数据库umami里已经新建了好多个表。

提醒:在访问umami之前要先检查3000端口是否可以访问。
4. 访问umami
http://ip:3000


登录成功后就可以去配置了。

5. 通过域名访问
以后不可能一直通过ip访问,这样也太不优雅了。
域名和SSL证书就不说了,贴一下Nginx的配置。
# umami
server {
listen 80;
server_name umami.xxx;
# 将HTTP请求重定向到HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
#填写证书绑定的域名
server_name umami.xxx;
#证书,密钥
ssl_certificate cert/umami.tch.cool/umami.xxx.pem;
ssl_certificate_key cert/umami.tch.cool/umami.xxx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#TLS协议的类型以及加密套件
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# 允许最大 1MB 的请求体
client_max_body_size 1m;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Frame-Options "SAMEORIGIN" always;
location / {
proxy_pass http://umami;
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;
}
}
#负载均衡
upstream umami {
server 127.0.0.1:3000;
}就可以通过域名访问了(不要忘记关闭3000端口的访问)。

6. Umami配置
先在个人资料里修改密码。
然后添加网站,具体的操作文档里都有。

把这段<script>贴到网站的<head>部,就可以收集数据了。

7. 插件
安装【数据看板】插件,并按照插件文档进行配置。

新建一个页面,用于统计数据的展示。
插件提供了如下两个统计组件。
选择【网站统计图表】组件,【标签统计、分类统计、文章趋势、评论排行、热门文章】五个模块我都需要就都选择了。

选择【umami统计】组件的【流量统计】模块,展示一个月的数据。

再次添加【umami统计】组件,选择【近30分钟网站活动】模块。

至此自定义页面已完成,组件和模块可根据实际情况灵活选择。也可通过注入HTML代码的方式添加到网站的任意位置,文档里都有详细说明。
点击👇🏻直达本站数据统计页。
以上。