AI摘要
前言
关于访客统计,我最早用的是VisitorLogger插件,但是它的后台统计图不显示,于是我就二次开发为VisitorLoggerPro
,修复完善后台统计图并且加上了网站独立页面模板。但是我觉得功能还是不够,直到我看到了Umami
。
简介
Umami 是一个开源的、注重隐私的网站访问统计工具。它提供了简洁直观的界面,支持多种统计维度,是 Google Analytics 的轻量级替代方案。
部署要求
- 支持 Docker 环境
- 支持 Nginx 反向代理(我选择使用docker,所以这个就无所谓了)
部署步骤
1. 创建网站
在宝塔面板中创建新网站,选择纯静态网站类型。记得提前将域名解析到服务器 IP,这样网站才能正常访问。
2. 配置 SSL 证书
在宝塔面板中为网站申请 SSL 证书,推荐使用宝塔Let's Encrypt免费证书。
3. 部署 Umami
克隆代码仓库
git clone https://github.com/umami-software/umami.git
如果GitHub克隆异常缓慢,可以直接克隆我的gitee镜像仓库:
git clone https://gitee.com/wx6765/umami.git
连接服务器终端,使用下面的命令进入到你创建的域名文件夹下然后进行克隆(方便管理)
cd /www/wwwroot/你的检测网站域名
三秒钟就结束了,前所未有的爽!
配置 Docker Compose
创建 docker-compose.yml
文件,内容如下:
version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3000: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: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:
蓝色框里的都可以改,建议改数据库密码即可
启动服务
docker-compose up -d
构建了将近一个小时,还好成功了
在宝塔面板中查看容器,要启动的话需要放行3000
端口
4. 配置反向代理
在宝塔面板中配置反向代理,将域名请求转发到 http://127.0.0.1:3000
。这样就能通过域名访问统计面板了。
使用指南
初始登录
访问你的域名,使用默认账号 admin 和密码 umami 登录。为了安全起见,建议登录后立即修改默认密码。
添加统计网站
进入仪表板后,在设置中添加需要统计的网站。添加完成后,系统会生成一段跟踪代码,需要将这段代码添加到主题后台的自定义head中。
配置完成
我遇到的两个问题,不知道你们会不会出现
- 执行docker命令时报错:
Segmentation fault
,解决办法见 完整步骤 - 如果遇到
umami-umami-1
容器无法打开或打开后自动停止,去查看容器umami-db-1
的日志,如果是数据库连接错误,比如出现以下错误:✗ Unable to connect to the database: Authentication failed against database server, the provided database credentials for `umami` are not valid.
这是因为数据库认证失败,如果你改了密码那大概率就是因为这个,需要按以下步骤解决:
-
首先停止并删除现有的容器和卷:
docker-compose down -v
-
检查
docker-compose.yml
文件中的数据库配置,确保:DATABASE_URL
中的密码与POSTGRES_PASSWORD
完全一致
- 密码不要使用默认的 "umami",建议使用更复杂的密码
-
重新启动服务:
docker-compose up -d
总结
挺好用的,配置也不算很复杂,如果有问题可在评论区留言。
3 条评论
有宝塔开网站的详细教程吗
现在有了,看这篇https://blog.ybyq.wang/archives/409.html
宝塔搭建typecho博客网站吗,还是别的什么网站