---
title: "自托管 Google Analytics 替代方案：Umami 和 Plausible 怎么选、怎么部署"
description: "对比两款开源、无 Cookie 的网站统计工具 Umami 与 Plausible，在 Zenavo 上部署到自己的服务器，完成首个账号、添加统计代码、验证数据和备份。"
date: 2026-11-12
language: zh-CN
url: https://zenavo.app/zh-CN/blog/umami-vs-plausible
---

# 自托管 Google Analytics 替代方案：Umami 和 Plausible 怎么选、怎么部署

很多网站只想知道几件事：今天有多少访客、从哪里来、看了哪些页面。Google Analytics 能回答这些问题，但它配置复杂，数据留在第三方，还常常需要配合 Cookie 提示。

[Umami](https://umami.is) 和 [Plausible](https://plausible.io) 是两款开源的网站统计工具，界面简洁，默认不使用 Cookie，数据保存在你自己的数据库里。Zenavo 为两者都准备了模板，几分钟就能部署到你租用或自有的服务器上。

## 先选一个

| | Umami | Plausible 社区版 |
|---|---|---|
| 组成 | Umami + PostgreSQL | Plausible + PostgreSQL + ClickHouse |
| 内存 | 小，可以和其他应用共用一台小服务器 | 模板标注约 2 GB |
| 适合 | 个人站点、多个小网站、想要最少维护 | 访问量较大，想要 Plausible 的报表风格 |
| 首次登录 | 默认管理员账号，需立刻改密码 | 打开后注册第一个账号 |
| 邮件 | 不依赖邮件 | 邀请成员、重置密码需要配置 SMTP |

拿不准时，先用 Umami：它更轻，迁移和备份也只涉及一个 PostgreSQL。访问量大到 PostgreSQL 吃力时，再考虑基于 ClickHouse 的 Plausible。

两者都不使用 Cookie，但是否还需要隐私声明或用户同意，取决于你所在地区的法律和你收集的内容，请自行确认。部分广告拦截插件也会拦截这类统计脚本，所以数字会比真实访问略低。

## 部署 Umami

先在 Zenavo 中[连接一台 Linux 服务器](https://docs.zenavo.app/zh-CN/servers/add-a-server)，再打开 [Umami 模板](https://zenavo.app/deploy?template=umami)，选择服务器并部署。模板会创建两个服务：

- **postgresql**：PostgreSQL 17，数据在 `/var/lib/postgresql/data` 卷中，密码自动生成；
- **umami**：`ghcr.io/umami-software/umami:postgresql-latest`，HTTP 端口 `3000`，通过 `DATABASE_URL` 连接数据库，`APP_SECRET` 自动生成。

在 umami 服务的 **网络** 页为 `3000` 端口绑定域名，例如 `stats.example.com`，配置 DNS 并等待 HTTPS 生效（见[域名文档](https://docs.zenavo.app/zh-CN/networking/domains)）。

**域名一生效就登录。** Umami 的默认管理员是 `admin`，密码 `umami`。登录后马上在 **Settings → Profile** 修改密码，并在 **Security** 中开启两步验证。在你改密码之前，任何人知道这个地址都能用默认密码登录。

然后在 **Settings → Websites** 添加网站，复制它给出的统计代码。

## 部署 Plausible

打开 [Plausible 模板](https://zenavo.app/deploy?template=plausible)，部署前会要求填写 **访问网址**，即你将来打开 Plausible 的完整地址，例如 `https://stats.example.com`。模板会创建三个服务：

- **postgresql**：保存账号和站点设置；
- **clickhouse**：保存访问事件，模板已为小内存服务器调低了它的线程和日志；
- **plausible**：社区版 `v3.1.0`，HTTP 端口 `8000`，启动时自动建库和迁移。

部署后给 plausible 服务绑定 **同一个** 域名。访问网址与实际域名不一致时，登录和统计脚本地址都会出错；要改地址，就修改 `BASE_URL` 变量并重新部署。

ClickHouse 要求 CPU 支持 SSE 4.2（x86）或 NEON（ARM），常见云服务器都满足，非常老的机器可能启动失败。

打开网站，注册第一个账号。Plausible 社区版默认 `DISABLE_REGISTRATION=invite_only`：第一个账号之后，新用户只能通过邀请加入。

要邀请成员或找回密码，需要邮件。在 plausible 服务的 **变量** 中添加 SMTP 设置，例如 `MAILER_EMAIL`、`SMTP_HOST_ADDR`、`SMTP_HOST_PORT`、`SMTP_USER_NAME` 和 `SMTP_USER_PWD`，然后重新部署。各项含义见 Plausible 的[配置说明](https://github.com/plausible/community-edition/wiki/configuration)。SMTP 密码只填在变量里，不要提交到代码仓库。

登录后点 **Add a website**，填写要统计的域名，复制它给出的统计代码。

## 安装统计代码并验证

把复制的 `<script>` 放进网站每个页面的 `<head>` 中。用 Next.js、Vue 等框架时，放在全站共享的布局里；用 WordPress、Ghost 等系统时，放进主题或站点设置的“页头代码”。

然后用手机或无痕窗口打开你的网站，Umami 的 **Realtime** 和 Plausible 的实时访客数应该在几秒内出现这次访问。没有数据时：

- 用浏览器开发者工具的 **Network** 面板，确认脚本请求返回 200；
- 关掉广告拦截插件再试一次；
- 确认网站上填写的统计域名和 Umami、Plausible 中添加的网站一致。

## 备份

统计数据都在数据库里。Umami 只需备份 postgresql 服务；Plausible 的账号在 postgresql 中，访问事件在 clickhouse 的数据卷中，两者都要保存。

在数据库服务的 **备份与恢复** 中可以直接备份 PostgreSQL。ClickHouse 是数据卷，备份时需要先停止项目。重要的数据，下载一份备份自行保存，并找时间在新项目中恢复一次，确认备份真的能用。详见[备份与恢复](https://docs.zenavo.app/zh-CN/operations/backups)。

## 常见问题

**能导入 Google Analytics 的历史数据吗？**
Plausible 社区版可以导入 Google Analytics 4 的历史数据，但需要先在 Google Cloud 创建 OAuth 凭据，把 `GOOGLE_CLIENT_ID` 和 `GOOGLE_CLIENT_SECRET` 加进 plausible 服务的变量，步骤见 Plausible 的[导入说明](https://plausible.io/docs/google-analytics-import)。Umami 是否支持导入，以它当前的文档为准。

**一个 Umami 能统计多个网站吗？**
可以。每个网站在 **Websites** 中单独添加，各自有自己的统计代码。

**统计服务挂了，会影响我的网站吗？**
统计脚本加载失败不会阻止页面显示，只是这段时间的访问不会被记录。

**Plausible 一直卡在启动？**
看 clickhouse 和 plausible 服务的日志。常见原因是服务器内存不足，或 CPU 不支持 ClickHouse 要求的指令集。

从 [Umami 模板](https://zenavo.app/deploy?template=umami)或 [Plausible 模板](https://zenavo.app/deploy?template=plausible)开始，先保护好管理员账号，再装统计代码、确认数据进来，最后安排备份。
