参考: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
其他配置
设置程序守护,此处以 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