由于站点较多,而且为了保护隐私,比较抵触使用 CNZZ 或 GOOGLE 等第三方的访问量统计系统。最近发现了一个统计网站访问量的工具。也使用了一段时间,现在将搭建教程分享出来:
项目介绍
项目地址:Umami
UMAMI 基于Node.js 开发,并且支持 MySQL 或 Postgresql 等数据库存储方式,可以将数据掌握在自己手中。并且 UMAMI 还提供了非常详细的流量分析可视化的界面,UI 体验以及统计准确度十分不错(此处所讲统计精准度为实际真是访客的访问量,有可能一天只有1-2请做好心理准备。)
官方文档:Umami Docs
2022-7-22 更新:今天更新 umami 时,发现更换了 umami 构建安装方式,遂更新一波,可能配图不正确,但步骤基本一致。
准备
由于 Umami 基于Node.js 开发,采用 MySQL 或 Postgresql 数据库存储数据,所以配置要求如下:
- Node.js 12 或更高的版本
- 服务器上安装了 MySQL 或 Postgresql
本文基于宝塔面板,使用 MySQL 进行安装
安装配置 Node.js
此处 MySQL 安装方式此处不再进行演示,如您已安装 Node.js 并且配置成功,则此步可以跳过。
安装 Node.js 命令如下
cd /www/server/nodejs
#国外服务器选择
wget https://nodejs.org/dist/v16.14.2/node-v16.14.2-linux-x64.tar.gz
#国内服务器选择
wget https://registry.npmmirror.com/-/binary/node/v16.14.2/node-v16.14.2-linux-x64.tar.gz
tar -zvxf node-v16.14.2-linux-x64.tar.gz
设置 Node.js 全局变量:
在宝塔面板打开 /etc/profile 文件,将以下配置输入文件最后面,并保存
export NODE_HOME=/www/server/nodejs/node-v16.14.2-linux-x64
export PATH=$NODE_HOME/bin:$PATH
输入以下命令用于重载全局配置。
source /etc/profile
输入 node -v 和 npm -v 返回以下信息即配置完成
安装 Umami
一、克隆仓库
cd /www/wwwroot
#git clone https://github.com/mikecao/umami
git clone https://github.com/umami-software/umami
二、安装依赖
国内服务器此步骤由于 Node.js 没有大陆节点,速度较慢。请耐心等待
千万不要使用淘宝的 registry 镜像源!!!!!!!!
否则安装依赖会出错!!!!!!!!
cd umami
#npm install
yarn install
三、配置数据库
创建数据库:打开宝塔面板,点击左侧 数据库->添加数据库。输入数据库相关信息即可。
导入程序数据库文件 在最新的版本中已经不用再执行此步骤。
文件路径:/www/wwwroot/umami/sql/schema.mysql.sql
上传数据库并导入
四、配置 .env 文件
在 umami 文件夹中新建一个名为 .env 的文件
文件具体配置如下:
DATABASE_URL=mysql://用户名:密码@localhost:3306/库名
HASH_SALT=roywang (加密字符 随机即可)
五、构建 Umami
安装 yarn
npm install -g yarn
查看版本信息,如遇 yarn:未找到命令,请看:《NodeJS 和 npm 配置全局变量》
国内服务器此步骤由于 Node.js 没有大陆节点,速度较慢。请耐心等待
千万不要使用淘宝的 registry 镜像源!!!!!!!!
否则安装依赖会出错!!!!!!!!
#npm run build
yarn build
六、导入数据库
yarn update-db
七、运行
#npm run start
yarn start
此时即可通过 IP:3000访问网站了,但为了方便使用,还需进行以下操作
其他配置
设置程序守护,此处以systemd
打开目录 /usr/lib/systemd/system/
新建文件:umami.service
文件配置如下(以下配置仅供参考):
[Unit]
Description=UmamiServer
[Unit]
Description=UmamiServer
[Service]
ExecStart=/www/server/nodejs/node-v16.14.2-linux-x64/bin/npm start
Restart=always
Environment=PATH=/usr/bin:/usr/local/bin:/www/server/nodejs/node-v16.14.2-linux-x64/bin
Environment=NODE_ENV=production
WorkingDirectory=/www/wwwroot/umami/
[Install]
WantedBy=multi-user.target
此时保存即可,运行:
# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start umami
# 设置开机启动
systemctl enable umami
详细的管理命令如下:
# 启动服务
systemctl start umami
# 设置开机启动
systemctl enable umami
# 停止服务
systemctl stop umami
# 重启服务
systemctl restart umami
# 查看状态
systemctl status umami
# 更新配置
systemctl daemon-reload
设置网站反代
宝塔新建站点 -> 打开SSL - > 反向代理 ->添加反向代理
目标 URL 填写:http://127.0.0.1:3000
配置站点
登录 Umami
默认账号:admin
默认密码:umami
添加站点,并将代码放到网站 <head> 部分来收集数据。
升级配置
此时必须保证 Umami 没有正在运行,重新 拉取仓库、安装依赖、构建项目、启动即可
#拉取仓库
git pull
#安装
#npm install
yarn install
#构建项目
#npm run build
yarn build
#更新数据库
yarn update-db
#启动项目
systemctl start umami
特别强调,无论国外源多慢都强烈要求使用国外源。在使用淘宝源时,构建会失败!!!!!!!!!!!!!
解决了统计JS被广告拦截插件给屏蔽的问题:https://roy.wang/umami-js-name/