Umami
简介
Umami是一个自托管的开源工具,用户可以将其安装在自己的服务器上,并且没有数据采集和共享的问题。Umami的仪表板非常简单易用,而且提供了实时的数据和流量图表。是非常好用的轻量级流量统计工具。
适合谁
为什么自建?
- 当你觉得现有服务太繁杂
- 当你不想支付服务费用
- 当你想获得对流量监控的完全控制
- 当现有服务无法满足你的需求
- 当你不想流量数据被AdBlock拦截
为什么Umami?
- 界面简约
- 功能完备,但内存占用少
安装
准备
- 安装Umami的服务器
- 可以是你站点的服务器
- 流量监控进程也会消耗算力和带宽,如果安装在站点,请保证服务器资源充足
- 也可以是独立于站点的服务器
- 一个域名或二级域名
- 用于访问Umami控制面板,如果你可以
localhost
访问,也可以不准备域名 - 不建议使用公网IP直接访问
- 用于访问Umami控制面板,如果你可以
进行安装
本文使用直接编译安装,你也可以选择使用docker安装,详情请参考官方文档
前置环境
你需要先在机器上安装:
node.js
Mysql
/MariaDB
/Postgresql
中的一个git
本文使用的是Debian系统
安装Umami
安装yarn
(一个比npm更灵性一点点的js包管理器)
npm install -g yarn
克隆仓库,安装依赖
(建议先cd
到你希望存放Umami的目录)
git clone https://github.com/umami-software/umami.git
cd umami
yarn install
新建并编写配置文件
vim .env
.env
的内容:
DATABASE_URL=mysql://username:mypassword@localhost:3306/umami
PORT=3000
其中:
DATABASE_URL
username
: 数据库的用户名mypassword
: 数据库的密码umami
: 数据库的名字
PORT
: Umami服务器的端口,默认是3000,如已占用,需要修改为别的端口
如果你使用
postgresql
,你需要将mysql
改成postgresql
创建数据库
登录你的数据库系统,创建名为umami
的数据库
编译
yarn build
测试
yarn start-env
看到类似如下输出即可:
yarn run v1.22.19
$ node scripts/start-env.js
ready - started server on 0.0.0.0:3000, url: http://localhost:3000
info - Loaded env from /home/karsonjo/umami/.env
按
ctrl+c
退出
安装pm2
是一个专门针对node.js程序的进程管理工具
需要root权限安装
sudo yarn global add pm2
配置运行Umami
pm2 start yarn --name umami -- start-env
设置开机自启动(可选)
sudo pm2 startup
pm2 save
确认是否正常运行(可选)
sudo lsof -i :3000
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 3992197 karsonjo 18u IPv4 58292697 0t0 TCP *:3000 (LISTEN)
配置nginx
不做详细讲解
你也可以使用其它反向代理软件host Umami
新建配置文件
sudo vim /etc/nginx/conf.d/analytics.conf
以下为analytics.conf
示意内容:
server {
listen 80;
server_name your-umami-domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
your-umami-domain.com
是你的域名
- 你可以使用站点的二级域名,比如:
analytics.mydomain.com
- 也可以使用新的域名:
myanalytics.com
- 或者使用站点域名的Path,比如:
mydomain.com/shop/analytics
- 但这样需要修改
location
- 但这样需要修改
示意只配置了http服务器,实际使用时,建议配置https服务器
重启nginx
sudo systemctl restart nginx
增加DNS规则
到域名解析服务,将Umami使用的域名解析到你的服务器IP
配置Umami
登录控制台
输入域名进入Umami控制台
登录账号:admin
登录密码:umami
⚠:登录后切记先修改你的密码
添加站点
点击:Settings > Websites > Add Website
弹出的窗口填写站点信息:
name
: 昵称随便写
domain
: 监控站点的域名
Enable share URL
: 分享流量统计结果的
添加追踪代码
复制该站点的追踪代码
移步到你的站点,在<head>
标签中加入这串代码
测试
访问你的站点,Umami后台应该就有记录了