一键部署 Umami 统计个人网站访问数据
谈到网站统计,大家第一时间想到的肯定是 Google Analytics。然而,我们都知道 Google Analytics 会收集所有用户的信息,对数据没有任何控制和隐私保护。
Google Analytics 收集的指标实在是太多了,有很多都是不必要的,没有博士学位可能都不太容易理解这些指标。
相比较而言,开源的网站统计工具可能更适合我们,他们可以私有化部署,同时尊重用户的隐私,可以完全控制自己的数据。这其中的佼佼者便是 Umami 与 Plausible。其中 Umami 架构更简洁,也更容易部署。具体优势如下:
- 简单易用,只跟踪关键指标,数据清晰易读。
- 可无限追踪网站和子域名,不受数量限制。
- 自托管部署可以绕过广告拦截器,有效避免 Google Analytics 等广告拦截器。
- 代码轻量,追踪脚本只有 2KB,支持 IE 等旧版浏览器。
- 支持多用户账号,提供共享链接,可以公开分享统计数据。
- 页面针对移动设备优化,可随时随地查看统计数据。
- 数据自主可控,不需要交给第三方,注重隐私。
- 代码采用 MIT 开源协议,开发者友好。
- 支持多语言,内置黑暗模式。
- API 开发友好,可以定制跟踪配置。
Umami 的数据都存放在数据库中,支持 MySQL、PostgreSQL 和 Clickhouse,对于小白来说部署起来还是有点小复杂。不过有了 Sealos 一键部署模板,这个问题就比较简单了,动动鼠标就行了,3 分钟即可解决战斗。
一键部署 Umami
首先通过以下链接打开 Umami 的应用模板:
https://cloud.sealos.io/?openapp=system-fastdeploy%3FtemplateName%3Dumami
只需要填一个参数 APP SECRET 即可,这个参数的值随便填一个字符串就行。然后直接点击「部署应用」。

部署完成后,点击确认跳转到应用详情页面,你会发现应用无法启动,因为这个模板同时创建了 PostgreSQL 数据库和应用,而数据库目前还不具备自定义初始化数据库的能力,等数据库后端升级到下个版本就可以自定义数据库啦,目前暂时需要我们稍微手动操作一下。
首先打开「数据库」:

进入 umami 数据库的详情页面:

直接点击「一键链接」:

便会进入数据库的终端:

通过以下命令新建一个数据库 umami:
create database umami;
最后退出终端,打开「应用管理」,进入 umami 应用的详情页面,可以看到应用已经启动成功了。查看日志:


接入 Umami
点击外网地址即可直接打开 Umami 的 Web 界面:

默认的用户名是 admin,密码是 umami。
进入管理界面后,要先创建一个网站:

点击「编辑」进入网站设置,复制跟踪代码,到自己网站的 <head> 内粘贴即可。

最终效果如下:

重写路径
Umami 是一个极其尊重隐私的网站统计服务,它与广告技术和监视资本主义无关,也不会收集任何个人数据。即便如此,它还是有可能会被某些广告过滤规则所屏蔽。
为了避免被广告过滤器误杀,我们可以重写 js 脚本的路径,按照官方文档,我们只需要添加一个环境变量即可。

Sealos 添加环境变量非常简单,在应用详情页面中点击「变更」:

展开高级配置,点击「编辑环境变量」:

添加环境变量 TRACKER_SCRIPT_NAME=xxx,这个值可以随便写,也不需要以 .js 作为后缀,这样更容易绕过广告过滤器的检测。

确认之后,点击「变更」,等待实例重新启动成功。再次打开 Web 界面,你会看到跟踪代码里的 js 链接已经变了:

Sealos 也提供了 Plausible 的一键部署模板,对 Plausible 感兴趣的小伙伴可以去试试:
一键部署 Umami 统计个人网站访问数据的更多相关文章
- 简单的JS统计静态网站访问次数
最简单的静态页面刷新 <html> <head> <meta http-equiv="Content-Type" content="text ...
- 配置, 映射WebDAV, 并通过IIS网站访问
服务端 0. 服务端安装IIS时, 选中WebDAV发布, Windows身份验证, 安装完毕后, 打开IIS管理器(inetmgr); 1. 新建网站或使用默认网站, 创建虚拟目录, 虚拟目录物理路 ...
- Hadoop第8周练习—Pig部署及统计访问日志例子
:搭建Pig环境 :计算每个IP点击次数 内容 运行环境说明 1.1 硬软件环境 线程,主频2.2G,6G内存 l 虚拟软件:VMware® Workstation 9.0.0 build- ...
- Git+Gitlab+Ansible剧本实现一键部署动态网站(二)--技术流ken
项目前言 之前已经写了一篇关于git和ansible的博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>.关于git,gitliab,ansible在我 ...
- 红象云腾CRH 一键部署大数据平台
平台: arm 类型: ARM 模板 软件包: azkaban hadoop 2.6 hbase hive kafka spark zeppelin azkaban basic software bi ...
- Git+Gitlab+Ansible剧本实现一键部署动态网站(5)
项目前言 之前已经写了一篇关于git和ansible的博客<Git+Gitlab+Ansible剧本实现一键部署Nginx–技术流ken>.关于git,gitliab,ansible在我以 ...
- ASP.NET Core 一步步搭建个人网站(2)_一键部署和用户注册登录
俗话说,磨刀不费砍柴工.为了更方便的进行项目管理,我们先将个人网站项目配置一下,满足以下2个目标: VS2017中支持Git存储库,绑定Github项目,实现本地VS程序与线上Github一键代码提交 ...
- 网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)
在平时的运维工作中,我们运维人员需要清楚自己网站每天的总访问量.总带宽.ip统计和url统计等.虽然网站已经在服务商那里做了CDN加速,所以网站流量压力都在前方CDN层了像每日PV,带宽,ip统计等数 ...
- 开源网站访问统计系统Piwik
http://www.piwik.cn/ http://www.piwik.org/ Piwik 是一套基于 Php+MySQL 技术构建,能够与 Google Analytics 相媲美的开源网站访 ...
- 从域名到网站,快速创建全新社区站点 - phpwind一键部署操作文档
关于phpwind一键部署服务,请查阅PW官网:http://www.phpwind.com/setup.html 选择一键部署镜像版本,立即开始使用: PW建站系统(Centos 64位) ———— ...
随机推荐
- vue 事件中的 .native你搞清楚了吗
native是什么? .native - 监听组件根元素的原生事件. 主要是给自定义的组件添加原生事件. 官网的解释: 你可能想在某个组件的根元素上监听一个原生事件.可以使用 v-on 的修饰符 .n ...
- 2021-02-06:假设字符串str长度为N,请问最长回文子串的长度是多少?
福哥答案2021-02-06: 1.动态规划.无代码,见图.2.中心扩展法.无代码.3.Manacher算法.有代码,见图.1)理解回文半径数组.2)理解所有中心的回文最右边界R,和取得R时的中心点C ...
- 2021-09-21:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。要
2021-09-21:给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置.如果数组中不存在目标值 target,返回 [-1, -1].要 ...
- Python获取当前时间、获取当月第一天、最后一天日期等方法
```python先导入包: import calendarimport datetimefrom datetime import timedelta获取今天日期: #返回datetime格式:eg: ...
- ComboBox1 绑定手动创建的DataTable
'************************************************** '*过程名称:DT_PAFORMAL '*功能说明:员工类别 '**************** ...
- phpstudy-sqlilabs-less-3
题目:GET - Error based - Single quotes with twist 基于错误的单引号GET型变形注入 ?id=1 )and 1=2--+ ?id=1 "and 1 ...
- XTU OJ 程设训练 1407 Alice and Bob
题目描述 Alice和Bob打球,已知他们打过的每一回合的输赢情况,每个回合获胜的一方可以得一分. Alice可以随意设定赢得一局比赛所需的分数和赢得整个比赛所需要的局数. Alice想赢得比赛,请问 ...
- U3DFrameWorkDemo:二、资源管理
代码参考 代码文件参考下述详解的类图,工程参考第零章工程说明 概述 在游戏项目中有很多资产如:预制体,图片,音频,Lua脚本,Shader等等.他们随打包放在用户的硬盘里.在游戏的运行过程中,需要对这 ...
- K8S in Action 读后感(概念简介)
一.K8S的用武之地 今天,大型单体应用正被逐渐拆分成小的.可独立运行的组件,我们称之为微服务.微服务彼此之间解耦,所以它们可以被独立开发.部署.升级.伸缩.这使得我们可以对每一个微服务实现快速迭代, ...
- go语言字符与字符串相关
ASCII ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁 字母的一套单字节编码系统 字符 本质上来 ...