type
status
date
slug
summary
tags
category
icon
password
文件和媒体
📊 WebStats
轻量、自托管的网站访问统计服务
Cloudflare Worker + D1 / Docker + SQLitWebStats
Hucry12 • Updated Apr 1, 2026
🖼️ 效果展示

1. 这是什么
WebStats 是一个可完全自建的访问统计服务,适合博客、文档站和静态站。
核心接口:
GET /webstats.min.js: 前端脚本接入
POST /api.php: 统计 API
GET /webstats?jsonpCallback=WebStatsCallback&url=...: JSONP 兼容接口(可选)
2. 字段含义(重点)
字段 | 含义 | 统计范围 |
webstats_today_pv | 今日页面访问次数 (PV) | 当前站点,按北京时间当天 |
webstats_today_uv | 今日独立访客数 (UV) | 当前站点,按北京时间当天 |
webstats_site_pv | 站点累计访问次数 | 当前站点,全量累计 |
webstats_site_uv | 站点累计独立访客数 | 当前站点,全量累计 |
webstats_page_pv | 当前页面累计访问次数 | 当前页面 (URL path+query) |
webstats_page_uv | 当前页面累计独立访客数 | 当前页面 (URL path+query) |
说明:
- pv : 每次请求会增加。
- uv : 按访客指纹去重(实现里使用 IP + UA 哈希)。
- "today" 以
Asia/Shanghai(北京时间)切日。
3. 目录结构
Plain text
4. Worker + D1 部署
在
/ 根目录下执行:Bash
验证:
Bash
5. 迁移旧站点总量(可选)
PowerShell:
PowerShell
Bash:
Bash
6. Docker 部署
构建并推送:
Bash
本地运行:
Bash
7. Claw Cloud 参数
- Image:
<dockerhub-username>/webstats:v1.0
- Port:
8080
- Replicas:
1
- Local Storage: 挂载
/data(必须)
- Health Check:
/health或/webstats.min.js
说明:若根路径
/ 返回 404,但 /webstats.min.js 和 /api.php 正常,统计功能仍可用。8. 前端接入
在您的 HTML 文件中引入脚本,或者手动调用:
HTML
9. 常见问题
- 刷新一次 PV 增加 2:常见于开发模式双执行或页面存在重复上报逻辑。
- PowerShell 命令报错:不要混用 Bash 语法,PowerShell 变量写法是
$site = "..."。
- insufficient scopes:Docker Hub PAT 权限不足,重新创建带 Read/Write 的 PAT 后重新登录。
致谢
感谢以下平台对本项目部署与运行提供支持:
License
- 作者:Hucry Blog
- 链接://335a5a8a-afda-80e2-9bb2-ff01aa277b5b
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

