使用 Umami 统计网站访问流量

13 阅读

什么是 Umami?

Umami 是一款开源的网站访问统计工具,可以收集页面浏览量、访客数、来源渠道、设备信息、地理位置等数据,帮助你了解站点的真实流量情况。

相比 Google Analytics,Umami 有以下几个优势:

  • 隐私友好:不使用 Cookie,不收集个人身份信息,符合 GDPR 等隐私法规

  • 轻量:追踪脚本体积极小,对页面加载速度几乎没有影响

  • 开源可自托管:数据完全掌握在自己手中,不依赖第三方服务

  • 界面简洁:数据展示直观,核心指标一目了然

部署 Umami

方式一:使用 Umami Cloud

如果不想自行维护服务器,可以直接使用 Umami Cloud。Umami Cloud 提供免费套餐,支持最多 3 个网站和每月 10 万次页面浏览,对于个人博客或小型站点通常已经足够。

注册账号后即可直接使用,无需任何部署操作。

方式二:使用 Docker Compose 自托管

如果希望将数据托管在自己的服务器上,可以使用 Docker Compose 部署 Umami。

前提条件:服务器已安装 Docker 和 Docker Compose。

  1. 创建工作目录

     mkdir ~/umami && cd ~/umami
  2. 创建 docker-compose.yaml

    # 来源于 https://github.com/umami-software/umami/blob/master/docker-compose.yml
    services:
      umami:
        image: ghcr.io/umami-software/umami:latest
        ports:
          - "3000:3000"
        environment:
          DATABASE_URL: postgresql://umami:umami@db:5432/umami
          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:

    注意:请将 APP_SECRET 替换为一个随机字符串,可以使用 openssl rand -hex 32 生成。

  3. 启动服务

     docker compose up -d

    启动后,Umami 默认运行在 http://服务器IP:3000。默认登录账号为 admin,密码为 umami请登录后立即修改密码

  4. 配置 Nginx 反向代理

    如果需要通过域名访问,可以配置 Nginx 反向代理:

    配置好域名解析和 HTTPS 证书后,即可通过域名访问 Umami 控制台。

方式三:通过 1Panel 安装

如果你的服务器使用了 1Panel 面板,可以在 应用商店 中搜索 Umami 并按照引导一键安装,无需手动编写配置文件,1Panel 会自动完成数据库和容器的初始化。

在 Umami 中创建监控网站

登录 Umami 控制台,进入 设置 → 网站,点击 添加网站

填写网站名称和域名,保存后点击页面右上角的 编辑 按钮,进入编辑页面之后可以看到一段 跟踪代码,复制这段代码,接下来将其配置到 Halo 中。

在 Halo 中配置追踪代码

登录 Halo 控制台,进入 设置 → 代码注入,将复制的追踪代码粘贴到 全局 head 标签 输入框中:

保存后,访问你的站点任意页面,回到 Umami 控制台即可看到实时数据。

配置完成后,Umami 会开始记录你的站点访问数据,包括页面浏览量、访客数、访问来源、设备类型等,你可以在 Umami 控制台的仪表盘中查看完整的统计报告。


评论