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

方案
Umami 中文文档可以参考一下。首先我们需要选择安装方法。
- 从源代码安装:从GitHub获取代码并自行构建应用程序。
- 使用 Docker compose:使用
docker compose构建你自己的 Docker 容器。 - 使用 Docker 镜像:下载预构建的 Docker 镜像。
- 使用 HelmForge 的 Kubernetes:使用由 HelmForge 项目维护的第三方 Helm chart 部署 Umami。可参阅使用 HelmForge 在 Kubernetes 上运行指南。
我的方案建议
如果有服务器,最好可以按照服务器的配置,如果没有服务器的话,就考虑用云部署。
有服务器(后端)
二叉树树的视频
1 panel 用户可以直接选择用docker安装,也可以选择自己分步安装不过分布安装比较麻烦,可以。看一下二叉树树的视频,他的讲解已经相当的详细,因为没有1 panel的测试环境,所以就不演示了。
宝塔用户跟下面操作。
拉取源码,安装依赖
进入服务器创造对应的存储目录,用远程SSH先cd到目录里面,确保服务器与外网联系密切。中国大陆服务器连接GitHub可能超时,这里建议用代理节点或者国内镜像,从GitHub获取代码,将项目克隆到本地并安装依赖。
git clone https://github.com/umami-software/umami.gitcd umamipnpm 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: 5volumes: 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可以将本应外置的数据库一并打包启动,更加方便。
这里可以跳过无服务器方案

无服务器(后端)
页面构建
没有服务器,可以考虑用腾讯云的Makers,或者Vercel也是可以的,又或者是cloudlare的worker,但是目前来看,这个方案的处理成本比较高也比较复杂。
创建 Supabase 数据库
这里可以去阿里云享受永久免费的Supabase 数据库,

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

点击对应的蓝色按钮去创造。
你创造出来的专有网络的地域和可用区必须要跟你的数据库一致。目前这个数据库只支持杭州I跟杭州J,所以你只能创造这个地区的专有网络并在这两个可用区之间选择!!!
创造好之后,记住数据库的库名、用户名和密码,数据库名称默认postgres,需要登录 Dashboard的,,如果登不上就是白名单,IP问题可以先把自己的公网IP添加0.0.0.0/0。


配置
去到资产上传的地方创造一个环境变量。
DATABASE_URL:postgresql://用户名:密码@主机地址:端口/数据库名?额外参数例如:
| 主机地址 | 用户名 | 密码 |
|---|---|---|
| aaa.net | bbb | ccc |
那么就填写:
postgresql://bbb:ccc@aaa.net:5432/postgres正常来说,现在就已经配置完了后端。注意,绑定域名的时候域名需要做好反向代理或者CDN防护,并且确保公网能够正常访问。
前端
一般的博客模板,它都会内置站点Umami 统计,可以直接跟着文档教程去替换掉默认的信息。
配置 Umami
进入Umami开发网站,账户密码,如果构建的时候你没有改,那就是默认的。
账号:admin密码:umami左侧侧栏点击网站选择添加网站,并且填写名字和域名,名字可以随便填。


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

如果是个人独立开发博客,完成前端配置就好了。如果是模板的话,完成相对应的.ts文件对应位置的替换
总结
至此,Umami 站点统计就完全配置完成了,如果你的网站植入了广告,请严格把控追踪数量,不建议私自篡改,不然会面临法律风险!
部分内容可能已过时

