Umami
简介
Umami是一个自托管的开源工具,用户可以将其安装在自己的服务器上,并且没有数据采集和共享的问题。Umami的仪表板非常简单易用,而且提供了实时的数据和流量图表。是非常好用的轻量级流量统计工具。
适合谁
为什么自建?
- 当你觉得现有服务太繁杂
 - 当你不想支付服务费用
 - 当你想获得对流量监控的完全控制
 - 当现有服务无法满足你的需求
 - 当你不想流量数据被AdBlock拦截
 
为什么Umami?
- 界面简约
 - 功能完备,但内存占用少
 
安装
准备
- 安装Umami的服务器
- 可以是你站点的服务器
 - 流量监控进程也会消耗算力和带宽,如果安装在站点,请保证服务器资源充足
 - 也可以是独立于站点的服务器
 
 - 一个域名或二级域名
- 用于访问Umami控制面板,如果你可以
localhost访问,也可以不准备域名 - 不建议使用公网IP直接访问
 
 - 用于访问Umami控制面板,如果你可以
 
进行安装
本文使用直接编译安装,你也可以选择使用docker安装,详情请参考官方文档
前置环境
你需要先在机器上安装:
node.jsMysql/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_URLusername: 数据库的用户名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后台应该就有记录了