博客接入umami统计

1545 字
8 分钟
博客接入umami统计

序言#

我的博客系统于今天新接入了Umami站点数据统计功能,这个功能可以帮我们有效地查看网站访问次数,当然你也可以在后台观测着网站浏览数据的流动。

示例1
示例1

方案#

Umami 中文文档可以参考一下。首先我们需要选择安装方法。

  • 从源代码安装:从GitHub获取代码并自行构建应用程序。
  • 使用 Docker compose:使用docker compose构建你自己的 Docker 容器。
  • 使用 Docker 镜像:下载预构建的 Docker 镜像。
  • 使用 HelmForge 的 Kubernetes:使用由 HelmForge 项目维护的第三方 Helm chart 部署 Umami。可参阅使用 HelmForge 在 Kubernetes 上运行指南。

我的方案建议#

如果有服务器,最好可以按照服务器的配置,如果没有服务器的话,就考虑用云部署。

有服务器(后端)#

Tip

如果你拥有一台独立的服务器或者是VPS,我们可以优先考虑1 panel或者宝塔面板Docker compose 方案完成

1 panel或者宝塔面板的用户的操作不同

二叉树树的视频#

1 panel 用户可以直接选择用docker安装,也可以选择自己分步安装不过分布安装比较麻烦,可以。看一下二叉树树的视频,他的讲解已经相当的详细,因为没有1 panel的测试环境,所以就不演示了。

宝塔用户跟下面操作。

拉取源码,安装依赖#

进入服务器创造对应的存储目录,用远程SSHcd到目录里面,确保服务器与外网联系密切。中国大陆服务器连接GitHub可能超时,这里建议用代理节点或者国内镜像,从GitHub获取代码,将项目克隆到本地并安装依赖。

git clone https://github.com/umami-software/umami.git
cd umami
pnpm install

配置 Umami(选)#

可以选择对根目录下的docker-compose.yml文件进行编辑,以对数据库信息进行填写,文件里面的内容可能是这样。

---
services:
umami:
image: ghcr.io/umami-software/umami:latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
APP_SECRET: replace-me-with-a-random-string
depends_on:
db:
condition: service_healthy
init: true
restart: always
healthcheck:
test: ["CMD-SHELL", "curl http://localhost:3000/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:

其中找到这部分信息,将原版默认的umami改成你对应的数据库名称库用户名库密码

db:
image: postgres:15-alpine
environment:
POSTGRES_DB: #数据库名称
POSTGRES_USER: #库用户名
POSTGRES_PASSWORD: #库密码

编辑完记得Ctrl+S保存好。

启动 Dorker#

回到根目录,打开终端。

docker compose up -d

等待命令跑完之后,打开宝塔面板的docker界面

已结启动
已结启动

到达这个页面,可以看到正常情况下已经启动了。项目的默认端口是3000,如果需要外网访问,先去防火墙开端口,然后如果需要布置到公网上,再按照正常的反向代理或者嵌套CDN。

注意,这就是一个正常的Node.JS项目,只不过用docker compose可以将本应外置的数据库一并打包启动,更加方便。

这里可以跳过无服务器方案

Umami 页面
Umami 页面

无服务器(后端)#

页面构建#

没有服务器,可以考虑用腾讯云的Makers,或者Vercel也是可以的,又或者是cloudlare的worker,但是目前来看,这个方案的处理成本比较高也比较复杂。

Fork到自己的GitHub仓库,然后去你的服务商那里连接你的GitHub账号仓库,构建资产上线。

创建 Supabase 数据库#

这里可以去阿里云享受永久免费的Supabase 数据库

Supabase 数据库
Supabase 数据库

点击创建项目,免费测试创建。注意,这个创建需要我们创造一个专有网络和一台交换机

要专有网络和交换机
要专有网络和交换机

点击对应的蓝色按钮去创造。

Caution

你创造出来的专有网络的地域和可用区必须要跟你的数据库一致。目前这个数据库只支持杭州I跟杭州J,所以你只能创造这个地区的专有网络并在这两个可用区之间选择!!!

创造好之后,记住数据库的库名用户名密码,数据库名称默认postgres,需要登录 Dashboard的,,如果登不上就是白名单,IP问题可以先把自己的公网IP添加0.0.0.0/0

登录 Supabase 数据库
登录 Supabase 数据库

 Supabase 数据库名
Supabase 数据库名

配置#

去到资产上传的地方创造一个环境变量。

DATABASE_URL:postgresql://用户名:密码@主机地址:端口/数据库名?额外参数

例如:

主机地址用户名密码
aaa.netbbbccc

那么就填写:

postgresql://bbb:ccc@aaa.net:5432/postgres

正常来说,现在就已经配置完了后端。注意,绑定域名的时候域名需要做好反向代理或者CDN防护,并且确保公网能够正常访问。

前端#

一般的博客模板,它都会内置站点Umami 统计,可以直接跟着文档教程去替换掉默认的信息。

配置 Umami#

进入Umami开发网站,账户密码,如果构建的时候你没有改,那就是默认的。

账号:admin
密码:umami

左侧侧栏点击网站选择添加网站,并且填写名字域名名字可以随便填。

 Umami 界面
Umami 界面

 添加网站
添加网站

跟踪站点#

添加完网站之后点击进去,选择编辑界面,这个界面里面可以看到网站ID和相对应的追踪代码,这段追踪代码用于插入在header上,下面的共享链接带无验证分享的令牌

 配置网站
配置网站

如果是个人独立开发博客,完成前端配置就好了。如果是模板的话,完成相对应的.ts文件对应位置的替换

总结#

至此,Umami 站点统计就完全配置完成了,如果你的网站植入了广告,请严格把控追踪数量,不建议私自篡改,不然会面临法律风险!

博客接入umami统计
https://blog.xuioo.com/posts/umami-715/
作者
Aimerting
发布于
2026-07-15
许可协议
CC BY-NC-SA 4.0

评论区

公告
友链互换友链

正在招募技术类博客友链,要求原创、稳定更新。点击了解更多。

查看详情
VAKVAK

期末计 已结束

欢迎关于我的介绍

欢迎来到我的博客,我是Aimerting,热爱技术、持续学习,欢迎同好交流探讨,也欢迎大佬互换友链。

查看详情
音乐
封面

音乐

暂未播放

0:00
0:00
暂无歌词
标签
# 网站6# 博客5# Cloudflare2# BLOG2# Edgeone2# cdn2# 优选IP2# XUIOO2# 微信1# XO-CHAT1# umami1# 图片1# 人生1# 金钱1# 哲理1# 哲学1# CF1# Cloudflare.优选IP1# CDN1# cf1# XUIOO.COM1# 个人主页1# 高中地理1# 珠江新城1# 广州1# 研学1# 演讲1# Markdown1# 教程1# MD1# 腾讯安全1# 拦截误判1# 域名封禁1# 已停止访问1# 白嫖1# Blog1
目录
logoAimerting | XUIOO
工具