Umami 网站统计分析工具部署教程
Umami 是一款简洁、快速、注重隐私的开源网站统计分析工具,可以作为 Google Analytics 的自托管替代方案。它不使用 Cookie,不追踪用户个人信息,完全符合 GDPR 等隐私法规。Umami 界面简洁优雅,提供页面访问量、访客数、来源、设备等核心统计数据。本文将介绍如何在搬瓦工 VPS 上部署 Umami。部署前请确保已安装好 Docker 和 Docker Compose。
一、系统要求
- 操作系统:Ubuntu 20.04+ 或 Debian 11+。
- 内存:512MB 即可,1GB 更佳。
- 磁盘:至少 5GB 可用空间。
- 域名:建议绑定独立域名。
二、创建项目目录
mkdir -p /opt/umami
cd /opt/umami
三、编写 Docker Compose 配置
cat > /opt/umami/docker-compose.yml <<'EOF'
version: '3.8'
services:
postgres:
image: postgres:15-alpine
restart: always
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: your_db_password
volumes:
- postgres_data:/var/lib/postgresql/data
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
restart: always
depends_on:
- postgres
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:your_db_password@postgres:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: your_random_app_secret
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:3000/api/heartbeat || exit 1"]
interval: 30s
timeout: 5s
retries: 3
volumes:
postgres_data:
EOF
生成 APP_SECRET:
openssl rand -hex 32
四、启动 Umami
cd /opt/umami
docker compose up -d
查看启动状态:
docker compose ps
docker compose logs -f umami
五、配置 Nginx 反向代理
apt install nginx certbot python3-certbot-nginx -y
cat > /etc/nginx/sites-available/umami <<'EOF'
server {
listen 80;
server_name analytics.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
ln -s /etc/nginx/sites-available/umami /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d analytics.yourdomain.com
六、初始化与登录
访问 https://analytics.yourdomain.com,使用默认管理员账户登录:
- 用户名:
admin - 密码:
umami
登录后务必立即修改默认密码。进入 Settings > Profile 页面修改用户名和密码。
七、添加网站
在 Settings > Websites 中点击 "Add website",填写网站名称和域名。添加完成后,Umami 会生成一段追踪脚本代码。
将追踪脚本添加到你网站的 HTML 中:
<script defer src="https://analytics.yourdomain.com/script.js" data-website-id="your-website-id"></script>
将这段代码放在网页的 <head> 标签内即可开始收集数据。
八、统计面板功能
Umami 提供了简洁直观的统计面板,包含以下核心指标:
- 页面浏览量(Pageviews):总页面访问次数。
- 独立访客(Visitors):不同访客的数量。
- 跳出率(Bounce rate):只访问一个页面就离开的比例。
- 平均访问时长(Visit duration):访客在网站停留的平均时间。
- 来源(Referrers):访客从哪里来的。
- 页面排行(Pages):最受欢迎的页面列表。
- 浏览器/操作系统/设备:访客使用的技术环境。
- 国家/地区:访客的地理分布。
九、自定义事件追踪
除了页面浏览量,Umami 还支持自定义事件追踪。在网页中使用 JavaScript 发送自定义事件:
// 追踪按钮点击
document.getElementById('signup-btn').addEventListener('click', () => {
umami.track('signup-click');
});
// 带数据的事件追踪
umami.track('purchase', { product: 'VPS-Plan-A', price: 49.99 });
十、分享与团队
Umami 支持创建公开分享链接,让他人无需登录即可查看统计数据:
- 在网站设置中开启 "Share URL" 功能。
- 生成的链接可以直接分享给团队成员或客户。
你也可以创建多个用户账户,分别授权管理不同的网站。
十一、数据备份
# 备份数据库
docker exec umami-postgres-1 pg_dump -U umami umami > /opt/umami/backup_$(date +%Y%m%d).sql
# 设置自动备份
echo "0 3 * * * docker exec umami-postgres-1 pg_dump -U umami umami > /opt/umami/backups/umami_\$(date +\%Y\%m\%d).sql" | crontab -
十二、常见问题
追踪脚本无法加载
检查浏览器是否安装了广告拦截插件(如 uBlock Origin),这些插件可能会阻止统计脚本。可以在 Umami 环境变量中自定义脚本路径来规避:
TRACKER_SCRIPT_NAME: "custom-name"
统计数据不准确
确保追踪脚本中的 data-website-id 与 Umami 中配置的网站 ID 一致。同时检查网站域名是否匹配。
总结
Umami 是一款简洁高效的自托管网站统计工具,注重用户隐私,不使用 Cookie,非常适合替代 Google Analytics。在搬瓦工 VPS 上部署 Umami 只需很少的资源,512MB 内存即可流畅运行。更多教程请参考:Plausible 统计部署、Docker 安装教程、n8n 自动化部署。选购搬瓦工 VPS 请参考全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。