当前位置: 首页 > news >正文

Plausible Analytics 自托管搭建指南:隐私优先的 Google Analytics 替代方案

Plausible Analytics 自托管搭建指南:隐私优先的 Google Analytics 替代方案

Google Analytics 是很多站长的默认选择,但它存在几个现实问题:统计数据上传到 Google 服务器、在中国大陆加载缓慢导致统计失真、被广告屏蔽器大量拦截、需要烦人的 Cookie 授权弹窗。对于注重隐私的网站或面向欧洲用户的业务,这些问题很难绕开。

Plausible Analytics 是一个开源的轻量级网站统计系统,完全可以自托管。统计脚本仅 1KB(GA 的脚本超过 17KB),无 Cookie、无跨站追踪、无个人数据收集,符合 GDPR 合规要求。自建之后,所有访问数据都存在自己的服务器,不经过任何第三方。界面设计极简,访客数、页面浏览量、流量来源、热门页面一页全部呈现,基本上打开就能看懂。

本文介绍如何用 Docker Compose + Caddy 在自己的 VPS 上部署 Plausible Analytics。

服务器配置

Plausible 后端使用 PostgreSQL 存储用户和网站数据,使用 ClickHouse 存储页面访问事件流,因此对内存有一定要求。

项目规格
CPU2 核
内存4GB
硬盘40GB(事件数据随时间增长)
系统Ubuntu 22.04 / Debian 12

推荐使用雨云服务器 rainyun-com的 2 核 4GB 机型来部署 Plausible Analytics,性价比高,国内访问速度稳定。注册填优惠码2026off领 5 折优惠券,新用户首单直接半价。

准备工作

确保服务器已安装 Docker 和 Docker Compose:

# 安装 Dockercurl-fsSLhttps://get.docker.com|sh# 验证安装docker--versiondockercompose version

准备好一个域名,例如stats.example.com,并将该域名 DNS A 记录解析到服务器 IP。

安装 Caddy 作为反向代理和自动 HTTPS:

sudoaptinstall-ydebian-keyring debian-archive-keyring apt-transport-httpscurl-1sLf'https://dl.cloudsmith.io/public/caddy/stable/gpg.key'|sudogpg--dearmor-o/usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl-1sLf'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt'|sudotee/etc/apt/sources.list.d/caddy-stable.listsudoaptupdate&&sudoaptinstallcaddy-y

docker-compose.yml

Plausible 官方提供了 community-edition 配置仓库,直接克隆使用:

gitclone https://github.com/plausible/community-edition /opt/plausiblecd/opt/plausiblecpplausible-conf.env.example plausible-conf.env

编辑plausible-conf.env,填入必要配置:

# 生成随机密钥(必须填写)SECRET_KEY_BASE=$(openssl rand-base6448)# 你的站点访问地址(必须是 HTTPS)BASE_URL=https://stats.example.com# 可选:邮件配置(用于发送注册邮件和邀请链接)MAILER_EMAIL=noreply@example.comSMTP_HOST_ADDR=smtp.example.comSMTP_HOST_PORT=587SMTP_USER_NAME=你的邮箱账号SMTP_USER_PWD=邮箱授权码SMTP_HOST_SSL_ENABLED=false

官方仓库自带的docker-compose.yml内容如下(无需修改,仅供参考):

version:"3.8"services:mail:image:bytemark/smtprestart:unless-stoppedplausible_db:image:postgres:16-alpinerestart:unless-stoppedvolumes:-db-data:/var/lib/postgresql/dataenvironment:-POSTGRES_PASSWORD=postgresplausible_events_db:image:clickhouse/clickhouse-server:24.3.3.102-alpinerestart:unless-stoppedvolumes:-event-data:/var/lib/clickhouse-event-logs:/var/log/clickhouse-server-./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro-./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:roulimits:nofile:soft:262144hard:262144plausible:image:ghcr.io/plausible/community-edition:v2restart:unless-stoppedcommand:sh-c "sleep 10&&/entrypoint.sh db createdb&&/entrypoint.sh db migrate&&/entrypoint.sh run"depends_on:-plausible_db-plausible_events_db-mailports:-127.0.0.1:8000:8000env_file:-plausible-conf.envvolumes:db-data:driver:localevent-data:driver:localevent-logs:driver:local

启动服务:

dockercompose up-d

配置说明

Caddy 反向代理配置

编辑/etc/caddy/Caddyfile

stats.example.com { reverse_proxy localhost:8000 }

重启 Caddy:

sudosystemctl reload caddy

Caddy 会自动申请 Let’s Encrypt 证书并配置 HTTPS,无需手动操作。

核心环境变量说明

变量说明
SECRET_KEY_BASE会话加密密钥,必须填随机字符串
BASE_URL访问地址,必须是 HTTPS
DISABLE_REGISTRATION设为true可关闭新用户注册
GOOGLE_CLIENT_ID可选,填入后可接入 Google Search Console

使用方法

初始化管理员账号

访问https://stats.example.com,首次打开会显示注册页面,创建管理员账号。如果部署时设置了DISABLE_REGISTRATION=true,则需要先通过命令行创建用户:

dockerexecplausible_plausible_1 /entrypoint.sh new_user

添加网站并接入统计代码

登录后点击"+ Add Website",输入网站域名(不含https://),Plausible 会生成一段追踪代码:

<scriptdeferdata-domain="yoursite.com"src="https://stats.example.com/js/script.js"></script>

将这段代码粘贴到网站每个页面<head>标签内。WordPress 可以用 Plausible 官方插件一键接入;静态站点直接在模板<head>里加即可。

查看统计数据

Plausible 的仪表板提供以下核心指标:

  • 访客/浏览量:独立访客数、页面浏览数、跳出率、平均停留时长
  • 来源:来源网站、UTM 参数分类、搜索引擎流量占比
  • 页面:热门页面排行,支持按入口页和退出页筛选
  • 地理:国家/城市分布,地图可视化
  • 设备:浏览器、操作系统、屏幕尺寸分布
  • 转化目标:可配置页面访问或自定义事件作为转化目标

设置转化目标

在网站设置 → Goals 中添加目标,例如追踪/thank-you页面作为表单提交转化:

页面访问目标:/thank-you 自定义事件目标:Download(需配合 JS 代码触发)

常见问题

Q:统计数据为零,没有记录到访问?

检查追踪脚本是否正确加载:在浏览器开发者工具 Network 标签中,访问网站时应该能看到对stats.example.com/js/script.js的请求,以及对/api/event的 POST 请求(返回 202)。

如果脚本加载正常但没有数据,检查BASE_URL配置是否与实际访问地址完全一致(包括 https 前缀)。

Q:ClickHouse 容器启动失败,提示内存不足?

ClickHouse 默认内存限制较高,可以在clickhouse/clickhouse-user-config.xml中调整:

<profiles><default><max_memory_usage>1073741824</max_memory_usage></default></profiles>

Q:如何备份数据?

# PostgreSQL 备份dockerexecplausible_plausible_db_1 pg_dump-Upostgres plausible_db\|gzip>/backup/plausible-pg-$(date+%Y%m%d).sql.gz# ClickHouse 数据卷备份dockerrun--rm\-vplausible_event-data:/data\-v/backup:/backup\alpinetarczf /backup/plausible-ch-$(date+%Y%m%d).tar.gz /data

建议配合 cron 定时执行,备份文件异地存储。

Q:如何屏蔽自己的访问,避免污染统计数据?

在浏览器中安装 Plausible 官方扩展,或手动在localStorage中设置屏蔽标记:

// 在浏览器控制台执行,之后本机访问不计入统计localStorage.setItem('plausible_ignore','true');
http://www.rkmt.cn/news/1464066.html

相关文章:

  • CPT Markets:监管意识与信息透明度的观察
  • RPA+LLM+HRIS三端打通实录(含12家上市公司脱敏架构图)
  • 手把手教你配置TMS320F28379D中断:从PIE映射到ISR的保姆级流程
  • C/C++ 图形画面产生的底层原理
  • PyCharm新手必看:别再被‘Add Configuration’和解释器报错搞懵了,保姆级图文教程
  • 告别8字节限制!STM32H7的CAN FD实战:如何配置64字节数据帧提升你的车载网络带宽
  • 预言变量技术:编译器优化的创新实践
  • 告别Dev-C++转战VSCode?手把手教你搞定C++万能头文件bits/stdc++.h
  • 测试文章标题-请忽略
  • 统信UOS服务器版安装达梦DM8,我踩过的那些坑都帮你填平了(附完整配置流程)
  • 微信数据库AES-256-CBC解密:WechatDecrypt技术深度解析
  • STM32H743用CubeMX一键集成ThreadX,实测踩坑与避坑指南(附完整工程)
  • 【独家首发】工信部信通院联合验证的AI审核效能评估矩阵(含F1-RealTime、Bias-Delta、Audit-Traceability三项硬指标),附开源评测工具链下载链接
  • 别再手动画图了!用QGIS 3.28把Excel里的气象站点数据变成专业色斑图(附数据+完整流程)
  • 别再死记硬背了!一文搞懂正激拓扑四种复位电路(附原理动图与选型指南)
  • 2026张家界市权威认证贵金属回收 TOP5+黄金回收白银回收铂金回收门店地址电话推荐
  • 快马ai驱动智能报告生成器,让office办公拥有大脑般的思考能力
  • 别再手动调波形了!用STM32CubeMX的DAC+定时器,5分钟生成一个244Hz的三角波
  • 2026年更新:山东地区铅房施工商综合实力与推荐解析 - 2026年企业资讯
  • 从core文件命名到多线程堆栈导出:一份GDB调试Linux C/C++程序的避坑指南
  • 深入TMS320F28379D中断嵌套与优先级:如何设计高效可靠的实时控制程序
  • 2026年近期潮州高性价比不锈钢挂衣架生产商综合解析与选择指南 - 2026年企业资讯
  • 你的ARM设备也能运行Windows应用吗?Box64+Wine组合技揭秘
  • VcXsrv魔法级配置:让Windows变身Linux图形工作站
  • Qwen3.6-Plus工程落地实战:国产编程模型如何支撑企业级Java/Python开发
  • 实战演练:基于快马ai快速构建电商后台商品数据库管理系统的全流程
  • Kimi k2.6 LeetCode 2983. 回文串重新排列查询 Java实现
  • STM32CubeMX实战:用待机模式给电池供电设备‘续命’,实测功耗能降多少?
  • VirtualBox虚拟机搭建LinuxLite与Scratch编程学习环境全攻略
  • 别只当记录仪用!挖掘CANoe Trace的隐藏技巧:时间差分析、事件报文过滤与协议视图详解