Halo博客整合Umami进行访问数据统计

本文最后更新于 2025年11月19日 晚上

Umami是一个开源的网页分析工具,目标是提供简单、隐私友好的网页统计服务,帮助网站管理员了解其网站的访问情况和用户行为,通过使用Umami,您可以获得有关网站访问量、页面浏览量、用户设备和浏览器信息等方面的统计数据。该工具还提供实时数据更新和简单易用的界面,方便您查看和分析您的网站数据。

一、使用umami cloud

1.注册一个Umami账号

umami cloud官网

2.配置umami cloud

3.设置Halo

进入Halo博客后台-设置-代码注入-全局head标签 把刚刚的代码粘贴进去并保存

4.验证

访问下自己的博客,然后回到umami cloud

可以看到有数据了

二、使用Umami插件

1.绑定域名

先给umami绑定一个域名

我是用DockerCompose搭建的Halo,所以只需要修改下docker-compose.yamlnginx.conf两个文件即可

2.修改docker-compose.yaml

HASH_SALT可以使用以下命令生成

1
openssl rand -hex 32

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
umami:
image: ghcr.io/umami-software/umami:mysql-latest
container_name: umami
ports:
- "3000:3000"
environment:
DATABASE_URL: mysql://数据库用户名:数据库密码@halodb:3306/umami
DATABASE_TYPE: mysql
HASH_SALT: 自己生成
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
restart: unless-stopped

如果你的数据库里没有umami这个库,还需要进入mysql容器内创建一个

1
docker exec -it <容器名称或容器ID> bash
1
mysql -u <用户名> -p
1
CREATE DATABASE umami;

3.修改nginx.conf

nginx配置文件添加下面的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
server {
listen 80;
listen [::]:80;
server_name umami绑定的域名;

location = / {
rewrite ^/(.*) https://umami绑定的域名/$1 permanent; # force redirect http to https
}

location / {
rewrite ^/(.*) https://umami绑定的域名/ permanent; # force redirect http to https
}
}
server {
listen 443 ssl http2;
server_name umami绑定的域名;
add_header Access-Control-Allow-Origin 'https://博客域名';
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}

add_header Content-Security-Policy 'frame-ancestors 博客域名';

location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header 'Access-Control-Allow-Origin';
proxy_hide_header 'Content-Security-Policy';
}
}

4.配置umami和halo-umami插件

重新启动DockerCompose

访问umami绑定的域名,默认用户名admin,密码umami

进入umami后,新建网站,同配置umami cloud一样配置网站,按下图设置halo和umami插件

配置完成即可看到效果

结束~


Halo博客整合Umami进行访问数据统计
http://blog.baicat.eu.org/2023/05/31/Halo博客整合Umami进行访问数据统计/
作者
liuxiaobai5201314
发布于
2023年5月31日
更新于
2025年11月19日
许可协议