📅 最后更新于 2026-06-23
用 VPS 自建网站分析
Google Analytics 很强大,但它收集的数据远超你需要的信息。Umami 能让你看到真实的访问数据,不需要 cookie 弹窗,数据完全在你的 VPS 上。
为什么自建网站分析?
Google Analytics 有四个问题让越来越多的站长转向自托管方案:
- 隐私合规负担:GA 需要 cookie 同意弹窗,GDPR 合规成本高。Umami 默认不收集个人信息,不需要 cookie 弹窗。
- 数据所有权:你的访问数据在 Google 服务器上,你对数据的控制权有限。
- 页面性能:GA 的跟踪脚本约 45KB。Umami 的脚本不到 2KB,对页面加载速度的影响几乎为零。
- 信息过载:GA 的仪表盘有几十个指标和维度。Umami 只看核心数据:页面浏览量、访问者、来源、设备、国家。
Umami 是什么?
Umami 是一个开源的网站分析工具,用 Next.js 构建,PostgreSQL 或 MySQL 做数据库。它有:
- 实时访问数据看板
- 页面浏览量、独立访客、跳出率
- 流量来源(直接、搜索引擎、社交媒体、外链)
- 设备类型、浏览器、操作系统、国家分布
- 自定义事件跟踪(按钮点击、表单提交)
- 多网站管理,支持团队共享
- API 接口可对接其他系统
部署后,你只需要在每个要跟踪的网页中加一行 <script> 标签。
需要什么配置?
个人博客/小站
- 1 vCPU
- 1 GB 内存
- 20 GB SSD
- 适合:1-5 个网站,日 PV < 5000
- 月费约 $3-5
多站点/中等流量
- 1-2 vCPU
- 2 GB 内存
- 40 GB SSD
- 适合:5-20 个网站,日 PV < 50000
- 月费约 $5-10
高流量/团队共享
- 2+ vCPU
- 4 GB 内存
- 80 GB SSD
- 适合:20+ 网站、高流量、多团队成员
- 月费约 $10-20
Umami 本身很轻量(Next.js 应用约 200MB 内存),但 PostgreSQL 数据库会随着数据积累增长。1GB 内存给个人网站用完全够,日 PV 上万后建议 2GB。
Docker Compose 部署
1. 安装 Docker
apt update && apt upgrade -y curl -fsSL https://get.docker.com | sh 2. 创建 docker-compose.yml
mkdir -p /opt/umami && cd /opt/umami 复制以下内容。注意替换三个密码和 APP_SECRET:
version: '3.8'
services:
db:
image: postgres:16-alpine
container_name: umami_db
restart: unless-stopped
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: change_db_password
volumes:
- pg_data:/var/lib/postgresql/data
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
container_name: umami_app
restart: unless-stopped
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:change_db_password@db:5432/umami
APP_SECRET: change_this_to_random_string_at_least_32_chars
depends_on:
- db
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
volumes:
pg_data: 3. 启动并创建管理员
docker compose up -d 访问 http://IP:3000,默认账号 admin 密码 umami。登录后立即修改密码。
4. 添加网站并获取跟踪代码
在 Umami 后台「设置 → 网站」中添加你的域名。系统会生成一行跟踪代码,放到网站所有页面的 <head> 中:
<script defer src="https://analytics.yourdomain.com/script.js"
data-website-id="your-website-id"></script> 部署后等几分钟,Umami 仪表盘就会显示访问数据。
5. 配置 HTTPS(推荐)
用 Nginx Proxy Manager 给 Umami 加 SSL:
docker run -d --name npm --restart unless-stopped -p 80:80 -p 443:443 -p 81:81 -v npm_data:/data -v npm_ssl:/etc/letsencrypt jc21/nginx-proxy-manager:latest 添加反向代理指向 umami_app:3000,申请 Let's Encrypt 证书。
Umami vs Plausible vs Matomo
| Umami | Plausible CE | Matomo | |
|---|---|---|---|
| 开源协议 | MIT | AGPL | GPL |
| 脚本大小 | < 2KB | < 1KB | 约 22KB |
| 最低内存 | 1GB | 2GB+ | 2GB+ |
| 数据库 | PostgreSQL/MySQL | PostgreSQL+ClickHouse | MySQL |
| 适合场景 | 个人/小团队 | 中大型站点 | 需要完整功能 |
| 部署难度 | 简单,2 个容器 | 中等,4+ 容器 | 中等 |
个人博客和小型商业站点从 Umami 开始最合理。部署简单,资源占用少。Plausible 和 Matomo 适合对分析功能要求更高的场景。
用哪家 VPS?
核心考量:分析工具的延迟主要体现在你的访客打开网页时加载跟踪脚本的速度。如果访客主要在海外,美国或欧洲机房即可;如果在国内,需要考虑线路。
| 商家 | 推荐配置 | 月费 | 最合适 |
|---|---|---|---|
| Hetzner | CX22 (2GB) | €3.79/月 | 欧洲访客、性价比最高 |
| InterServer | 1 Slice (2GB) | $3/月 | 美国访客、月付灵活 |
| Vultr | 1GB Cloud | $6/月 | 需要多机房测试延迟 |
| 搬瓦工 CN2 GIA | 1GB 入门 | $49/年起 | 中国访客为主,需优化线路 |
选择建议
- 海外访客——普通线路足够:用 Hetzner 或 InterServer 的美国/欧洲机房,跟踪脚本加载延迟在 20-50ms。
- 中国访客——需要优化线路:如果网站主要面向国内用户,分析 VPS 最好和主站用同一家优化线路商家。否则国内用户打开网页时,跟踪脚本可能加载慢。
- 可以和主站共用一台 VPS:如果你的主站 VPS 内存有富余(2GB+),把 Umami 部署在同一台机器上即可,不需要额外买一台。
常见问题
常见问题
Umami 和 Google Analytics 数据差别大吗?
会有差异,但这是预期的。原因:Umami 不依赖 cookie,同一个用户在不同设备或清除浏览器数据后会被计为新访客;Umami 默认被广告拦截器影响更小(因为脚本轻量且不用于广告跟踪);GA 使用采样和数据估算,Umami 记录每一条原始请求。重点是趋势而非绝对值。
Umami 会影响网站性能吗?
几乎不影响。Umami 的跟踪脚本只有 2KB(GA 是 45KB+),使用 defer 异步加载,不会阻塞页面渲染。对 Core Web Vitals 和 SEO 评分的影响可忽略。
Umami 需要 cookie 弹窗吗?
不需要。Umami 不收集个人信息、不使用 cookie 做跨站跟踪、不存储用户 IP 的完整地址。因此符合 GDPR、PECR 和 CCPA 的要求,不强制要求 cookie 同意弹窗。但仍然建议在隐私政策中说明你使用了自托管分析工具。
数据存在哪?怎么备份?
所有数据存在 VPS 的 PostgreSQL 数据库中。备份方式:定期用 pg_dump 导出 SQL 文件,或用 cron + rsync 同步到另一台 VPS。Umami 的数据库增长比较慢,每天几千 PV 的情况下月增长约 50-100MB。
自建分析工具值得吗?
如果你已经有 VPS 在跑其他服务,加一个 Umami 基本上不增加成本(1GB 内存投入)。相比付费方案(Plausible Cloud $9/月、Fathom $14/月),自建回本很快。如果你还没有 VPS,只为了分析买一台 $3-5/月的 VPS,比直接付费买 SaaS 版的回本周期是 2-3 个月。