首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Umami网站统计实战:Docker部署、Typecho接入与公网访问

Umami网站统计实战:Docker部署、Typecho接入与公网访问

作者头像
fruge365
发布2026-08-01 08:46:55
发布2026-08-01 08:46:55
2200
举报
文章目录

  • 前言
  • 1.什么是Umami?
  • 2.安装Typecho(个人网站示例)
  • 3.安装Umami
  • 4.简单使用Umami
  • 5.安装cpolar实现随时随地开发
    • 5.1 什么是cpolar?
    • 5.2 部署cpolar
  • 6.为Typecho配置域名
  • 7.配置Umami检测个人网站
  • 8.配置Umami实现随时随地查看网站数据
  • 9.保留固定公网地址
  • 结尾

前言

网站上线以后,只知道页面能够正常打开还不够。哪些文章访问较多、用户从什么页面进入、主要使用手机还是电脑,这些数据都会影响后续的内容调整和网站维护。

直接使用第三方统计平台比较方便,但网站访问数据、账号体系和服务可用性也会依赖外部平台。对于已经拥有NAS或私有服务器的用户,可以考虑部署一套自己的统计系统,把相关数据保存在自己管理的环境中。

Umami是一款可以自托管的网站访问统计工具。将统计脚本加入网站页面后,可以在管理面板中查看访问量、访客数量、来源页面、热门内容、浏览器和设备类型等基础信息。

本文会使用Docker Compose部署Umami和PostgreSQL,并以Typecho博客作为测试网站,完成站点添加、跟踪代码接入和数据验证。最后再通过cpolar为Typecho和Umami分别配置公网地址,让网站能够被外部访问,也能在其他网络环境中查看统计面板。

1cd05ebc98ba1d516c64f2a3653fe4e2
1cd05ebc98ba1d516c64f2a3653fe4e2

1.什么是Umami?

Umami是一个开源、轻量、隐私优先的网站分析工具,旨在为网站所有者提供一种简单、高效且不依赖第三方的访问数据统计解决方案。

核心特点:

开源免费

  • Umami 的代码完全公开(托管在GitHub上),遵循MIT许可证,任何人都可以自由使用、修改和部署。

自托管(Self-hosted)

  • 你可以将 Umami 部署在自己的服务器或云平台上(如VPS、Docker、Railway、Vercel等),所有数据都存储在你控制的环境中,无需依赖Google Analytics、Plausible等外部服务。

隐私友好

  • Umami不使用Cookie(默认情况下),不收集个人身份信息(PII),不进行用户行为追踪,符合 GDPR、CCPA 等隐私法规要求,避免法律风险。

界面简洁直观提供清晰的仪表盘,展示关键指标如:

  • 实时访客数
  • 页面浏览量(PV)与独立访客(UV)
  • 流量来源(引荐网站、搜索引擎、直接访问等)
  • 设备类型(桌面/移动)、浏览器、操作系统
  • 热门页面、访问路径等

轻量高效

  • 前端脚本体积小(通常 < 2KB),对网站性能影响极低;后端基于Node.js + PostgreSQL(或SQLite),资源占用少,适合个人博客、小型企业站甚至中型应用。

支持多站点管理

  • 一个Umami实例可同时监控多个网站,并通过不同跟踪ID区分数据。

为什么选择Umami?

  • 不想被Google Analytics的复杂设置和隐私政策困扰?
  • 厌倦了Cookie同意弹窗影响用户体验?
  • 希望真正拥有自己的访问数据,而不是“租用”第三方平台?

那么,Umami就是一个理想的选择——它用极简的设计,回归网站分析的本质:了解你的访客,而不打扰他们。

  • 官网:https://umami.is
  • GitHub:https://github.com/umami-software/umami

如果你追求自主权、注重隐私、又希望获得专业级的流量洞察,不妨试试Umami——让数据分析,真正为你所控。

2.安装Typecho(个人网站示例)

为什么选择Typecho作为示例?

  1. 轻量级、简洁高效,契合Umami的理念
  • Typecho是一款基于PHP的轻量级博客系统,代码简洁、运行高效。
  • 它不依赖臃肿的插件生态或复杂架构,和Umami的“轻量、隐私优先”理念高度一致。
  • 两者都追求“极简主义”,避免过度工程化,非常适合对性能和隐私敏感的用户。
  1. 适合个人开发者或独立博主
  • Typecho常被用于搭建个人博客、技术笔记、作品集网站等,目标用户与Umami的典型使用者高度重合。
  • 大多数使用Typecho的人更关注内容表达、数据自主权和网站安全,而非商业推广,因此对隐私保护有天然需求。
  1. 易于集成,无需复杂配置
  • Typecho支持在主题中直接插入自定义JavaScript代码(例如通过footer或header钩子)。
  • 添加Umami的跟踪脚本只需在模板文件中添加一行代码,简单直观,不需要插件或数据库修改。
  • 对于非技术人员来说,这种“零配置接入”非常友好。

Typecho支持docker一键部署:

代码语言:javascript
复制
docker run --name=typecho \
  --restart always \
  --mount type=tmpfs,destination=/tmp \
  -v ./typecho:/data \
  -e PHP_TZ=Asia/Shanghai \
  -e PHP_MAX_EXECUTION_TIME=600 \
  -p 90:80 \
  -d 80x86/typecho:latest
11893d3d109c9e661721b801c877f106
11893d3d109c9e661721b801c877f106
  1. 展示“从零开始”的完整流程
  • 使用Typecho作为案例,可以完整展示一个“个人网站 + 自托管分析工具”的闭环: 搭建网站 → 安装Umami → 配置追踪 → 查看数据
  • 让读者更容易理解和复现整个过程,尤其适合新手入门。
  1. 强调“自主掌控”的价值观
  • Typecho本身是开源的,且不强制绑定第三方服务(不像某些CMS强推Google Analytics)。
  • 结合Umami使用,能完美体现“从网站框架到数据分析,全部由我控制”的理念。
  • 这种“端到端的自主性”正是本文的核心主张。

docker部署完成后,在浏览器中输入 http://IP:90 就能看到typecho的界面:

image-20260521144021300
image-20260521144021300

对typecho感兴趣的小伙伴,可以参考这篇文章:极空间NAS一键部署Typecho:开箱即用的私人博客搭建指南 - cpolar 极点云官网

3.安装Umami

通过Docker部署OneNav:

在开始部署之前,确保你的系统已经安装了 Docker。可以通过以下命令检查 Docker 是否已安装:

代码语言:javascript
复制
docker --version
image-20260507155742946
image-20260507155742946

首先创建一下安装的目录并进入到该目录:

代码语言:javascript
复制
mkdir -p /docker/umami
chmod -R 777 /umami

创建并编辑 docker-compose.yml文件:

代码语言:javascript
复制
vi docker-compose.yml
代码语言:javascript
复制
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3001:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: replace-me-with-a-random-string
    depends_on:
      db:
        condition: service_healthy
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "curl http://localhost:3010/api/heartbeat"]
      interval: 5s
      timeout: 5s
      retries: 5
  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: umami
    volumes:
      - umami-db-data:/var/lib/postgresql/data
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
      interval: 5s
      timeout: 5s
      retries: 5
volumes:
  umami-db-data:

启动容器:

代码语言:javascript
复制
docker-compose up -d
image-20260521144748743
image-20260521144748743

部署完成后,在浏览器中输入 http://极空间IP:3001 就能看到umami的界面:

c73fee68a581d0a4b42d1704ffe152ae
c73fee68a581d0a4b42d1704ffe152ae

4.简单使用Umami

使用账号密码登录,默认账号密码admin/umami:

962edbc35ff78667554ee515cb8f0905
962edbc35ff78667554ee515cb8f0905

登录成功:

image-20260521145025242
image-20260521145025242

点击右下角,如图所示,更改语言:

e88cbb0a059731ad0d170778eeb95c41
e88cbb0a059731ad0d170778eeb95c41

更改为中文:

62df605d345879ea302be28af30512e2
62df605d345879ea302be28af30512e2

更改账号密码,如图所示:

bb88c8246b7790c5919cf65cf29bad5d
bb88c8246b7790c5919cf65cf29bad5d
be81a9a4d72b1c731e34dc6b66eb5e1d
be81a9a4d72b1c731e34dc6b66eb5e1d

点击添加网站:

5cc9dafa525b2635839234c5fd4269ee
5cc9dafa525b2635839234c5fd4269ee

我们可以看到,需要使用域名:

image-20260521145343979
image-20260521145343979

此时,我们需要给Typecho生成一个域名,此时cpolar就派上用场了!

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

代码语言:javascript
复制
sudo curl https://get.cpolar.sh | sh
image-20250725104019896
image-20250725104019896

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

代码语言:javascript
复制
sudo systemctl status cpolar
22e5adfaf290a17fc3384bb296055259
22e5adfaf290a17fc3384bb296055259

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29
8a6698b1bf26d64ba3645827fbfb1c29

6.为Typecho配置域名

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:ty,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:90
  • 域名类型:随机域名
  • 地区:选择China Top
fac9de4b67a6578701bc7d4d3d372fff
fac9de4b67a6578701bc7d4d3d372fff

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

e8cc93b9128991716347fc39e34aebce
e8cc93b9128991716347fc39e34aebce

685cfbef.r2.cpolar.top即为我为typecho生成的域名。

7.配置Umami检测个人网站

接下来我们在Umami添加网站:

5cc9dafa525b2635839234c5fd4269ee
5cc9dafa525b2635839234c5fd4269ee

填写typecho基础信息:

6112e6efa2666f2ea901ea9756d1084f
6112e6efa2666f2ea901ea9756d1084f

添加成功:

dda621c3d76a052ed9a78235a96eb7f8
dda621c3d76a052ed9a78235a96eb7f8

点进去查看详细信息,发现没有信息:

816e67aa3a2b7ab35a0a219ab439e45b
816e67aa3a2b7ab35a0a219ab439e45b

别急,我们开始配置!

获取Umami跟踪代码:

ab7cbfc557cddd93711c68653155d469
ab7cbfc557cddd93711c68653155d469

将代码嵌入Typecho主题,我们去到Typecho页面:

  • 登录Typecho后台 → 控制台 > 外观 > 编辑当前外观
  • 找到主题的footer.php文件(有些主题可能是header.php或base.php)
  • 在 标签之前插入Umami脚本

建议放在footer.php而不是header.php,避免阻塞页面渲染。

a7516e8b0efad0356a35af0d4e79ea5a
a7516e8b0efad0356a35af0d4e79ea5a
e945643566fccee09b5a17031862b79b
e945643566fccee09b5a17031862b79b
  • 保存文件后,刷新你的博客首页
  • 打开浏览器开发者工具(F12)→ Network面板
  • 查看是否有向umami.is 或你自建域名的请求(如api/collect)
  • 登录Umami后台,应能看到实时访问数据
1cd05ebc98ba1d516c64f2a3653fe4e2
1cd05ebc98ba1d516c64f2a3653fe4e2

接下来就可以看到详细的分析:

b11a1959335fb6d7b815ca6b3935baa0
b11a1959335fb6d7b815ca6b3935baa0
43ea4675c4ae3021e30894b99b5ee57e
43ea4675c4ae3021e30894b99b5ee57e
900eb6afcc1b39b70a5780ce5630a092
900eb6afcc1b39b70a5780ce5630a092
2b3e92ceaa48b00b61b93896d4f0fedc
2b3e92ceaa48b00b61b93896d4f0fedc

你是否曾遇到这样的困扰:

自己搭建了开源、隐私友好的网站分析工具Umami,数据安全又干净,却只能在局域网或服务器本地访问?一旦离开办公室或家中网络,就无法实时查看网站流量、访客来源或热门页面?

传统方案往往需要复杂的公网IP配置、域名备案、反向代理甚至云服务器——成本高、门槛高、维护难。但其实,有一种更轻量、更灵活的方式:用cpolar实现内网穿透,让部署在本地或私有服务器上的Umami分析面板,秒变“可公网访问”的远程仪表盘。

cpolar是一款简单高效的内网穿透工具,无需公网IP、无需改动路由器设置,只需一条命令,就能将本地服务安全地暴露到互联网。配合自托管的Umami,你不仅能完全掌控网站数据,还能在手机、平板、咖啡馆电脑上随时打开浏览器,实时监控流量动态。

本文将手把手教你:

  • 在本地或内网服务器部署Umami;
  • 使用cpolar快速生成HTTP公网地址;
  • 安全配置访问权限,防止未授权访问;
  • 最终实现 “我的分析面板,全球任意地点随时看” 的自由体验。

告别固定办公环境,拥抱真正的数据自主权——从今天起,用Umami + cpolar,打造你的移动数据分析中心。

8.配置Umami实现随时随地查看网站数据

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:umami,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:3001
  • 域名类型:随机域名
  • 地区:选择China Top
image-20260521154236721
image-20260521154236721

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20260521154251071
image-20260521154251071

访问成功。

image-20260521154308626
image-20260521154308626

9.保留固定公网地址

使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。

image-20250918151358733
image-20250918151358733

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是umami,大家可以自定义。填写备注信息,点击保留。

image-20260521154419128
image-20260521154419128

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20260521154456151
image-20260521154456151

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20260521154535894
image-20260521154535894

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20260521154602628
image-20260521154602628

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20260521154623748
image-20260521154623748

结尾

完成以上配置后,Umami已经可以接收Typecho页面中的访问数据。进入管理面板后,可以查看页面浏览量、访客数量、流量来源、热门页面以及用户使用的设备和浏览器等信息。

整个接入过程的关键,是先在Umami中创建网站,再把生成的跟踪脚本加入Typecho主题。网站产生新的访问记录后,相关数据就会逐步显示在Umami面板中,后续也可以继续添加其他网站进行统一统计。

通过cpolar为Typecho配置公网地址后,外部用户可以正常访问测试网站;为Umami的3001端口建立另一条隧道后,也可以从其他网络环境打开数据分析页面。继续配置固定二级子域名后,统计面板的访问入口能够保持不变。

需要注意的是,Umami数据库中保存着网站访问数据,管理面板也可能暴露网站运营情况。正式使用前,应修改默认管理员密码、PostgreSQL密码和APP_SECRET,确认数据库卷已经持久化,并限制Umami后台的访问范围。同时还应根据网站实际服务地区和数据收集方式,单独评估隐私告知与合规要求。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 文章目录
  • 前言
  • 1.什么是Umami?
  • 2.安装Typecho(个人网站示例)
  • 3.安装Umami
  • 4.简单使用Umami
  • 5.安装cpolar实现随时随地开发
    • 5.1 什么是cpolar?
    • 5.2 部署cpolar
  • 6.为Typecho配置域名
  • 7.配置Umami检测个人网站
  • 8.配置Umami实现随时随地查看网站数据
  • 9.保留固定公网地址
  • 结尾
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档