由于站点较多,而且为了保护隐私,比较抵触使用 CNZZ 或 GOOGLE 等第三方的访问量统计系统。最近发现了一个统计网站访问量的工具。也使用了一段时间,现在将搭建教程分享出来:

项目介绍

项目地址:Umami

UMAMI 基于Node.js 开发,并且支持 MySQL 或 Postgresql 等数据库存储方式,可以将数据掌握在自己手中。并且 UMAMI 还提供了非常详细的流量分析可视化的界面,UI 体验以及统计准确度十分不错(此处所讲统计精准度为实际真是访客的访问量,有可能一天只有1-2请做好心理准备。)

官方文档:Umami Docs


2022-7-22 更新:今天更新 umami 时,发现更换了 umami 构建安装方式,遂更新一波,可能配图不正确,但步骤基本一致。

2023-5-3更新:更新了一下 Node.js 的版本,以及文章上的一些错误。

2023-8-21更新:程序守护更改为 PM2 管理,进而放弃 systemctl ,其在我这次将服务迁移到国内服务器内出现了很大的问题,以及文章上的一些错误。

2024-2-8更新:更新了Node.js 的版本,以及文章上的一些错误。


准备

由于 Umami 基于Node.js 开发,采用 MySQL 或 Postgresql 数据库存储数据,所以配置要求如下:

  • Node.js 14.18 或更高的版本
  • 服务器上安装了 MySQL 5.7 或以上 或 Postgresql 12.14 或以上

本文基于宝塔面板,使用 MySQL 进行安装

安装配置 Node.js

此处 MySQL 安装方式此处不再进行演示,如您已安装 Node.js 并且配置成功,则此步可以跳过。

安装 Node.js 命令如下

cd /www/server/nodejs
wget https://nodejs.org/dist/v21.6.0/node-v21.6.0-linux-x64.tar.gz
tar -xzvf node-v21.6.0-linux-x64.tar.gz

设置 Node.js 全局变量:

在宝塔面板打开 /etc/profile 文件,将以下配置输入文件最后面,并保存

export NODE_HOME=/www/server/nodejs/node-v21.6.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH

输入以下命令用于重载全局配置。

source /etc/profile

输入 node -v 和 npm -v 返回以下信息即配置完成

配置成功

安装 Yarn

npm install -g yarn

查看版本信息,如遇 yarn:未找到命令,请看:《NodeJS 和 npm 配置全局变量

国内服务器此步骤由于 Node.js 没有大陆节点,速度较慢。请耐心等待

安装 Umami

克隆仓库

cd /www/wwwroot
git clone https://github.com/umami-software/umami

安装依赖

国内服务器此步骤由于 Node.js 没有大陆节点,速度较慢。请耐心等待

千万不要使用淘宝的 registry 镜像源!!!!!!!!

否则安装依赖会出错!!!!!!!!

cd umami
yarn install
依赖安装完成

配置数据库

创建数据库:打开宝塔面板,点击左侧 数据库->添加数据库。输入数据库相关信息即可。

配置 .env 文件

在 umami 文件夹中新建一个名为 .env 的文件

文件具体配置如下:

DATABASE_URL=mysql://用户名:密码@localhost:3306/库名
HASH_SALT=roywang (加密字符 随机即可)
配置示例

构建 Umami

千万不要使用淘宝的 registry 镜像源!!!!!!!!

否则安装依赖会出错!!!!!!!!

yarn build
构建完成

导入数据库

yarn update-db

运行

yarn start
默认用户名:admin 默认密码:umami

此时即可通过 IP:3000访问网站了,但为了方便使用,还需进行以下操作

其他配置

设置程序守护,此处以 PM2 为例

打开目录 umami 安装目录

#全局安装 pm2
yarn global add pm2

pm2 start yarn --name umami -- start
pm2 startup
pm2 save

设置网站反代

宝塔新建站点 -> 打开SSL - > 反向代理 ->添加反向代理

目标 URL 填写:http://127.0.0.1:3000

配置反代

配置站点

登录 Umami

默认账号:admin
默认密码:umami

添加站点,并将代码放到网站 <head> 部分来收集数据。

升级配置

此时必须保证 Umami 没有正在运行,重新 拉取仓库、安装依赖、构建项目、启动即可

#拉取仓库
git pull
#安装
yarn install
#构建项目
yarn build
#更新数据库
yarn update-db
#启动项目
systemctl start umami

特别强调,无论国外源多慢都强烈要求使用国外源。在使用淘宝源时,构建会失败!!!!!!!!!!!!!

解决了统计JS被广告拦截插件给屏蔽的问题:https://roy.wang/umami-js-name/


《Umami 自建网站访问量统计系统》