umami:一款简单、易用、自行部署的网站统计程序

前言:

我们在建立网站后,即使是我这种摸鱼博客,给网站安装网站统计工具也是必不可少的,能直观的了解网站的访问情况,也有利于我们的SEO优化分析,常用的第三方统计平台不少,比如51LA、CNZZ、Google Analytics、百度统计等,当然你若是国内网站且主要提交百度收录的话,个人是建议使用百度统计的(俺就是用的百度统计),你要是有钱使用付费版,那俺啥也没说。当然各位站长只需要查看PV、UV、来源、登陆页、设备情况等信息的话,这里推荐的是一款自行部署的网站统计工具:Umami。

介绍:

Umami 是一个简单、易于使用、自托管的 Web 分析解决方案。其目标是为大家提供一个更友好,以隐私为中心的替代Google Analytics的方案。Umami只收集大家关心的指标,所有内容都适合单个页面。

优点

  • 简单分析:Umami只衡量您关心的重要指标:综合浏览量,使用的设备以及访问者的来源,这些都显示在单个页面上。
  • 多站点:Umami能够通过一次安装跟踪无限数量的网站,您甚至可以跟踪子域和单个URL。
  • 轻量:跟踪脚本很小(小于 6kb),支持旧版浏览器,如 IE。
  • 多账户、以隐私为中心、开源。

安装与部署

需求:

  • 具有 Node.js 10.13 或更高版本服务器
  • 数据库(MySQL 或 Postgresql)

获取源代码并安装软件包:

git clone https://github.com/mikecao/umami.git
cd umami
npm install

创建数据库表:
MySQL:

mysql -u username -p databasename < sql/schema.mysql.sql

Postgresql:

psql -h hostname -U username -d databasename -f sql/schema.postgresql.sql

配置Umami
创建文件.env,内容如下:

DATABASE_URL=(connection url)
HASH_SALT=(any random string)

URL连接格式:

postgresql://username:[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */:5432/mydb
mysql://username:[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-yjshash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-yjsemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */:3306/mydb

生成数据库客户端:

MySQL:
npm run build-mysql-client
Postgresql:
npm run build-postgresql-client

然后运行:

npm run build

启动程序:

npm start

访问地址:http://你的服务器ip:3000

其它

  • 项目地址:GitHub
  • 详细信息:https://umami.is/docs/login
  • 相对而言,Umami的功能仅仅是够用,是否使用根据自己的情况考虑。
  • 域名访问,直接反代端口就行。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注