怎样使用Umami 自建网站访问量统计系统

2024年8月12日 | 分类: 【技术】

参考:https://roy.wang/umami-nodejs-build/

项目介绍

项目地址: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 的版本,以及文章上的一些错误。

2024-5-10更新:配置要求,以及一些细节。


准备

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

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

MySQL 8.0 最低需要 4G 内存方可安装成功,可以使用 Docker 部署 Umami 配合PgSQL使用:《Docker 部署 Umami,切换数据库至 PgSQL

本文基于宝塔面板,使用 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 没有正在运行,重新 拉取仓库、安装依赖、构建项目、启动即可

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