侧边栏壁纸
博主头像
琉璃红梅 博主等级

琉璃世界,白雪红梅。

  • 累计撰写 44 篇文章
  • 累计创建 90 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Halo系列-部署网站统计服务

雪穗
2024-09-29 / 0 评论 / 0 点赞 / 59 阅读 / 0 字
温馨提示:
本文最后更新于39天前,若内容或图片失效,请留言反馈。 若部分素材不小心影响到您的利益,请联系我删除。

为了各章节的完整性导致部分内容有些冗余,可略读

1.网站统计,why?

建立自己的博客之后,我们可能想获取博客的访问情况,包括但不限于访客IP、访客数量、博文的浏览量。从而洞悉博客的改进方向以及博文的受欢迎程度,提高博客的访问量,借此获取微不足道的收益或结交志同道合的朋友。其实很多博客主题都可能带有一定的统计功能,大都借助 不蒜子 进行统计,因为其免费且简单,但是问题也很明显,至今不蒜子都没有开通注册功能,也自然没有其许诺的“对于已经上线一段时间的网站,‘不蒜子’允许您初始化首次数据”功能,这意味着博客的浏览量一大部分都是由自己贡献的…,本文介绍几种网站统计的方式,包括利用类似不蒜子的第三方进行统计或docker部署自己的统计服务。

2.51LA统计

这是第三方统计,需要先前往 51LA官网 注册账号,使用最新的 V6 流量统计系统 创建应用。

1.添加应用统计

2.填写应用名称以及需要统计的网站域名

3.获取SDK追踪代码并复制

4.将复制的追踪代码注入到需要监控的网站中

对于Halo博客可以直接登录到后台进行代码注入

5.查看统计到的监测数据

代码注入之后,等待几分钟可以看到 安装成功,之后点击 查看报表 就可以看到网站的监测数据了

不仅可以看到PV、UV还可以获取访问者的城市、受访页面等大量网站访问信息

3.自部署网站统计

安装前提:

1.备好服务器

2.已经安装好docker和docker compose,请参看我的博文 docker系列-docker与docker compose安装

安装建议:

1.将所有docker项目放在统一目录 /root/data/docker_data/ 下,方面后期管理与维护

2.添加SWAP虚拟内存,请参看我的博文 添加 SWAP 虚拟内存

3.1 Umami统计

3.1.1 Umami简介

Umami作为使用广泛的网站统计应用,不仅免费小巧而且易于部署、界面美观,可以非常直观地看到网站访问数据。美中不足的是访客的地址只能精确到国家无法精确到省市。

Umami官网:https://umami.is/

3.1.2 Umami的安装

3.1.2.1 创建安装目录
mkdir -p /root/data/docker_data/umami
3.1.2.2 创建docker-compose.yaml文件并上传至服务器

上传 docker-compose.yaml 文件到umami目录下,docker-compose.yaml 文件内容如下:

version: '3'
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports: 
      - "3000:3000"                                     # 左侧为umami外部访问端口,可自行修改注意不要冲突
    environment:
      DATABASE_URL: postgresql://umami:password666@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: password666                                          # 数据库密码,注意修改
    volumes:
      - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
      - ./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:

3.1.3 Umami的部署

查看3000端口有没有被占用

lsof -i:3000

没有占用,进入umami目录下进行部署即可,若被占用可以更换为其它未被占用的端口,之后执行如下命令进行部署:

cd /root/data/docker_data/umami

docker compose up -d  

3.1.4 Umami的基本使用

访问 http://ip:3000, 登录Umami后台

初始账号:admin
初始密码:umami
3.1.4.1 Umami的基础设置

登陆之后尽快修改密码,还可以修改语言与时区

3.1.4.2 获取追踪代码并注入到网站中

1.添加网站

2.获取追踪代码

3.将追踪代码注入到网站的head区域

等待几分钟后,查看仪表板就能看到统计信息了

3.1.4.3 共享链接功能

Umami还可以开启共享链接的功能,开启之后访客也可以通过共享链接查看网站的统计信息

3.1.5 Umami的升级与更新

# 方式一
cd /root/data/docker_data/umami

docker compose down --rmi all  # 停止容器运行并删除相关镜像

vim docker-compose.yml          # 修改umami的版本号为最新,如果使用的是latest版本可以忽略此步骤
 
docker compose up -d             # 重新运行容器

# 方式二
cd /root/data/docker_data/umami

docker compose down            # 停止容器运行

vim docker-compose.yml        # 修改umami的版本号为最新,如果使用的是latest版本可以忽略此步骤

docker compose pull             # 重新拉取镜像

docker compose up -d           # 重新运行容器

3.1.6 Umami的卸载

cd /root/data/docker_data/umami

docker compose down --rmi all           # 停止容器运行并删除相关镜像

cd ..

rm -rf /root/data/docker_data/umami    # 完全删除

3.2 Matomo统计

3.2.1 Matomo简介

Matomo作为功能更为强大的网站统计应用同样免费开源,如果Umami不能满足你的统计需求,那你或许可以尝试一下Matomo了,相比与Umami,Matomo可以获取更精细的访客行为,比如访客的访问页面及其耗时、访客IP归属的城市,同时还可以获取访问某一页面的具体时间等,当然其功能的强大远不仅限于此。内存占用大约为0.8G,如果仅仅只想统计一下访客数据,建议放弃部署,因为许多功能对于你来说会显得特别鸡肋。

Matomo官网:https://matomo.org/

3.2.2 Matomo的安装

3.2.2.1 创建安装目录
mkdir -p /root/data/docker_data/matomo
3.2.2.2 创建docker-compose.yaml文件并上传至服务器

上传 docker-compose.yaml 文件到Matomo目录下,docker-compose.yaml 文件内容如下:

version: '3'
services:
  matomo-sql:
    image: mysql:latest   # 使用 MySQL 数据库镜像
    container_name: matomo-sql 
    restart: always  # 容器重启策略:如果容器停止,总是重启
    environment:
      - MYSQL_DATABASE=matomo                    # 设置数据库名
      - MYSQL_USER=sqwfly                            # 设置数据库用户名,自行修改
      - MYSQL_PASSWORD=password123            # 设置数据库用户密码,自行修改与下面保存一致
      - MYSQL_ROOT_PASSWORD=rootpassword   # 设置数据库 root 用户密码,自行修改
      - TZ=Asia/Shanghai  # 设置时区
    ports:
      - "3306:3306"    # 左侧端口为暴露的端口号映射,将 MySQL 的 3306 端口映射到宿主机
    volumes:
      - ./data/matomo-sql:/var/lib/mysql   # 将宿主机的目录挂载到容器的 MySQL 数据目录

  matomo-app:
    image: matomo:latest
    container_name: matomo-app
    restart: always
    links:
      - matomo-sql  # 链接到 MySQL 数据库服务
    volumes:
      - ./data/matomo:/var/www/html  # 将宿主机的目录挂载到 Matomo 应用目录
    environment:
      - TZ=Asia/Shanghai                                        # 设置时区
      - MATOMO_DATABASE_HOST=matomo-sql            # 指定数据库主机名为 'matomo-sql'      
      - PHP_MEMORY_LIMIT=2048M                           # 设置 PHP 内存限制     
      - MATOMO_DATABASE_ADAPTER=mysql              # 指定数据库适配器为 MySQL      
      - MATOMO_DATABASE_TABLES_PREFIX=matomo_  # 设置数据库表名前缀
      - MATOMO_DATABASE_USERNAME=sqwfly           # 指定数据库用户名,自行修改
      - MATOMO_DATABASE_PASSWORD=password123  # 指定数据库用户密码,自行修改与上面保持一致
      - MATOMO_DATABASE_DBNAME=matomo             # 指定数据库名称
    ports:
      - "84:80"   # 容器端口映射,将 Matomo 的 80 端口映射到宿主机

3.2.3 Matomo的部署

查看84端口有没有被占用

lsof -i:84

没有占用,进入matomo目录下进行部署即可,若被占用可以更换为其它未被占用的端口,之后执行如下命令进行部署:

cd /root/data/docker_data/matomo

docker compose up -d  

3.2.4 Matomo的基本使用

3.2.4.1 Matomo的初始化

访问 http://ip:84, 会以图形化界面的形式提示初始化步骤,具体如下(无关操作已忽略),除了数据库设置剩余操作都可以在应用的设置中找到:

1.数据库设置

2.设置超级用户即管理员

自己设置管理员的用户名、密码以及邮箱

3.设置需要统计的网站以及时区

4.获取追踪代码

3.2.4.2 将追踪代码并注入到网站中

复制获取的追踪代码到网站的head区域

等待一段时间就可以查看统计信息了,初始界面如下

你也可以点击报表界面进行面板的自定义配置

3.2.5 Matomo的升级与更新

# 方式一
cd /root/data/docker_data/matomo

docker compose down --rmi all  # 停止容器运行并删除相关镜像

vim docker-compose.yml          # 修改matomo的版本号为最新,如果使用的是latest版本可以忽略此步骤
 
docker compose up -d             # 重新运行容器

# 方式二
cd /root/data/docker_data/matomo

docker compose down            # 停止容器运行

vim docker-compose.yml        # 修改matomo的版本号为最新,如果使用的是latest版本可以忽略此步骤

docker compose pull             # 重新拉取镜像

docker compose up -d           # 重新运行容器

3.2.6 Matomo的卸载

cd /root/data/docker_data/matomo

docker compose down --rmi all           # 停止容器运行并删除相关镜像

cd ..

rm -rf /root/data/docker_data/matomo    # 完全删除

0

评论区