目 录CONTENT

文章目录

自建流量统计新选择:利用宝塔面板+Docker部署Umami全流程实战

传家宝VPS
2026-01-04 / 0 评论 / 0 点赞 / 12 阅读 / 0 字
RackNerd Mobile Leaderboard Banner

1. 前言:为什么要自建统计工具?

在网站运营过程中,流量分析是核心环节。虽然 Google Analytics 功能强大,但其隐私政策(GDPR)问题以及庞大的体积往往让追求轻量化的站长感到困扰。此外,随着 AdBlock 等广告拦截插件的普及,公共统计域名的拦截率极高,导致数据严重失真。

Umami 是一款开源、注重隐私且极其轻量的 Google Analytics 替代方案。它不收集用户 Cookie,界面清爽,且支持自定义脚本名称,能有效绕过广告拦截,还原最真实的流量数据。

image-tdAW.webp

Umami 的后台界面简洁直观,能够实时展示访问量、来源、设备等核心数据:

image-JltQ.webp
image-vbMy.webp

2. 搭建环境准备

在开始操作前,请确保你的服务器满足以下条件:

  1. 面板要求:已安装宝塔面板(或 AAPanel)。

  2. 软件依赖:在宝塔软件商店中,安装 Docker管理器Nginx

  3. 数据库:Umami 需要 PostgreSQL 数据库。

    • 方案 A(国内服务器):建议直接在宝塔安装 PostgreSQL 插件。

    • 方案 B(海外服务器):可以使用 Supabase 提供的免费云数据库(本文以 Supabase 为演示,因为免费额度 500MB 对个人站长绰绰有余)。

3. 配置云数据库 (以 Supabase 为例)

Supabase 是一个开源的 Firebase 替代品,提供优秀的 PostgreSQL 托管服务。

  1. 注册与创建:前往 Supabase 官网 注册,新建一个组织(Organization)和项目(Project)。

  2. 设置密码:创建项目时,务必记住你设置的 Database Password(数据库密码),稍后会用到。

  3. 选择节点:根据你 VPS 的位置选择最近的节点。

image-XeWw.webp

获取连接信息:项目创建完成后(需等待几分钟),点击左侧菜单的 Database,查看 Connection String。

image-Aksb.webp

复制 URI:点击 URI 选项卡,复制连接字符串。格式通常为 postgresql://postgres:[YOUR-PASSWORD]@...

  • 注意:请手动将字符串中的 [YOUR-PASSWORD] 替换为你步骤2中设置的真实密码。

image-jvZq.webp

4. 宝塔 Docker 部署实战

步骤一:拉取镜像

进入宝塔面板 -> Docker管理器 -> 镜像管理 -> 获取镜像。输入以下官方镜像地址并拉取:

ghcr.io/umami-software/umami:postgresql-latest
image-CNWy.webp
步骤二:创建并配置容器

在“容器列表”中点击“创建容器”,进行如下配置:

  • 端口映射:将容器端口 3000 映射到服务器的自定义端口(例如 1577)。

  • 环境变量(核心步骤):点击“环境变量”加号,逐行添加以下内容:

变量名

说明

示例值

DATABASE_URL

必填,填入步骤3中获取的完整数据库链接

postgresql://postgres:密码@xxx:5432/postgres

DATABASE_TYPE

数据库类型

postgresql

HASH_SALT

加密盐,随意输入一串乱码

MyRandomSalt123

IGNORE_IP

(可选) 排除不统计的IP,如你自己的IP

1.2.3.4

TRACKER_SCRIPT_NAME

(可选) 自定义统计脚本文件名,防拦截神器

analysis.js (默认是 script.js)

COLLECT_API_ENDPOINT

(可选) 自定义API路径,防拦截神器

/api/collect

配置完成后点击提交。

image-NaYT.webp

5. 配置 Nginx 反向代理

为了通过域名访问并开启 HTTPS,我们需要配置反代。

  1. 在宝塔“网站”中添加一个新站点(如 tongji.example.com)。

  2. 进入网站设置 -> 反向代理,添加新代理。

  3. 或者直接在配置文件中加入以下代码(注意修改 1577 为你映射的端口):

location / {
    proxy_pass http://127.0.0.1:1577;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;

    # 缓存相关设置,避免页面不更新
    proxy_cache_bypass $http_cache_control;
    proxy_no_cache $http_cache_control;
    expires off;
}

建议同时为该站点申请 Let's Encrypt SSL 证书,确保数据传输安全。

6. 结尾与注意事项

  1. 初始登录:访问你的统计域名,默认账号 admin,默认密码 umami登录后请第一时间修改密码!

  2. 添加代码:在后台添加网站后,获取统计代码(<script>标签),将其放入你网站的 <head> 部分即可开始统计。

  3. 网络问题:如果你的 VPS 位于中国大陆,直接连接 Supabase 云数据库可能会有较高的延迟甚至丢包,导致统计服务不稳定。这种情况下,强烈建议在宝塔本地安装 PostgreSQL 数据库进行连接。

  4. CDN设置:如果统计域名使用了 CDN(如 Cloudflare),Umami 可能会记录为 CDN 节点的 IP。此时需要在 Nginx 配置中增加获取真实 IP 的参数,或在 Umami 环境变量中配置受信任的代理头。

广告 广告
博主关闭了所有页面的评论