1.前言

因为搭建博客网站,在弄SEO的过程中发现需要对网站流量进行监控和管理,找到了一款简单但功能强大、开源和隐私友好的网站流量监控工具-----Umami。看来官网的简介果断弄来自己博客站上试试。

2.Umami介绍

Umami是一个自托管的网络分析解决方案。简单来说就是站点流量统计工具,个人也是第一次接触,参考了官网和他人的搭建教程,总结了如下一些特点:

  1. 简单分析: 只衡量您关心的重要指标,所有内容都显示在一个易于浏览的页面上。

  2. 访客洞察: 获取有关访问者的详细细分,包括他们使用的浏览器、操作系统和设备。

  3. 自定义事件: 跟踪的不仅仅是网页浏览量。捕获您网站上的任何事件,例如按钮点击和表单条目。

  4. 强大的过滤器: 使用易于应用的筛选器更深入地了解数据。按浏览器、操作系统和国家/地区等任何指标对用户进行细分。

  5. 实时数据: 实时查看您当前的网站流量。查看访问者登陆的确切页面。

  6. 多语言: 已被非常活跃的开源社区翻译成许多不同的语言。

  7. 无限的站点: 能够从单个安装中跟踪无限数量的网站。您甚至可以跟踪子域和单个URL。

  8. 多个帐户: 可用于为朋友或客户托管数据。只需创建一个单独的帐户,他们就可以开始在自己的仪表板上跟踪自己的网站。

  9. 适合移动设备: 界面已针对移动设备进行了优化,因此您可以从任何地方查看统计信息。

  10. 绕过广告拦截器: 托管在自己的域下,因此可以可靠地避免广告拦截器。

  11. 重量轻: 跟踪脚本很小(只有 2KB),加载速度快如闪电。它永远不会减慢您的网站速度。

  12. 共享数据: 如果您想公开分享统计信息,可以使用生成的网址来实现。

官网地址:https://umami.is/

Github 地址:https://github.com/umami-software/umami

3.搭建前的环境准备

  • 服务器:可以是购买的VPS也可以是家里自己的电脑,自己电脑需要有公网IP,没有公网的话要做内网穿透,这个后面有机会专门写一篇文章讲讲如何内网穿透以及当前主流的工具和方案。我这里是用的甲骨文云的服务器,arm架构4核24g内存。

  • 系统:Ubuntu或者Debian,我用的是Ubuntu22.04 arm64

  • 软件:Docker,Docker-compose,Nginx(我用的Nginx Proxy Manager配置方便一点)

  • 其他:最好还要有一枚域名

4.开始搭建

先进入自己的服务器,将必要的软件安装好

4.1 Docker安装

#使用官方安装脚本
wget -qO- get.docker.com | bash

#上面命令安装完成后查看 docker 版本确认安装成功
docker -v
# 设置docker开机自动启动
systemctl enable docker

4.2 Docker-compose安装

可以去github上下载对应架构的release版本,我是arm v8架构下载的是docker-compose-linux-aarch64,这里根据自己服务器架构选择。

Docker-compose下载地址:https://github.com/docker/compose/releases

我是arm64架构下按如下命令下载文件重命名为docker-compose放在 /usr/local/bin/目录下,这里根据自己服务器架构选择对应版本。

sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-aarch64" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose  #更改文件权限
docker-compose --version  #查看 docker-compose 版本

4.3 Nginx Proxy Manager安装

创建Nginx Proxy Manager安装目录:

sudo -i

mkdir -p /root/data/docker_data/npm

cd /root/data/docker_data/npm

编写docker-compose.yml

vim docker-compose.yml

输入如下内容:

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'  # 冒号左边可以改成自己服务器未被占用的端口
      - '81:81'  # 冒号左边可以改成自己服务器未被占用的端口
      - '443:443' # 冒号左边可以改成自己服务器未被占用的端口
    volumes:
      - ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
      - ./letsencrypt:/etc/letsencrypt  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中

docker-compse下载镜像并运行容器

docker-compose up -d 

浏览器输入http://ip地址:81 就可以访问npm面板了,这里的端口号就是上面yml文件中对应映射的端口号这里是81端口。

默认账号密码如下

Email: admin@example.com

Password: changeme

4.4 Umami安装

拉取官方git库,创建Umami的安装目录:

sudo -i

cd /root/data/docker_data/umami

git clone https://github.com/umami-software/umami.git

cd ./umami
vim docker-compose.yml

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
  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

yml文件保存好下载镜像运行容器

docker-compose up -d

容器运行后,访问 http://服务器ip地址:3000 就可以进入界面了

默认用户名:admin

默认密码:umami

登入后记得及时更改账户密码。

4.5 给Umami配置反向代理

配置域名指向服务器地址,我的域名DNS是在cloudflare中设置的如下:

登入服务器Nginx proxy manager面板中设置域名反向代理,因为是docker安装可以直接填写本地docker路由地址,配置如下:

开启SSL证书,我这里是用的泛域名通配符的证书。

4.6 Umami添加站点

登入Umami面板后,点击去设置,然后点击添加网站,填写需要监控网站的域名。

刚刚保存的网站点击编辑。

选择跟踪代码,复制代码内容。

将刚刚复制的跟踪代码粘贴到需要监控站点的head标签中。

总结

类似的统计服务还有百度统计、谷歌统计、Matoma 等等。

文章作者: FLY.HE
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 FLY.HE的博客
建站 docker docker
喜欢就支持一下吧
打赏
微信 微信