这篇文章上次修改于 595 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

matomo

matomo 是一个开源的流量分析平台,官网是 https://matomo.org/

官方介绍
Google Analytics alternative that protects your data and your customers' privacy
保护您的数据和客户隐私的Google Analytics替代方案

在 GitHub 上也有同名项目.相似的项目还有 umami 等.但 umami 用到的是另一个语言了,我不太会弄.虽然界面很清爽但这也意味着功能会相对少,看了一圈还是选择之前用过一下的 matomo(PHP).缺点也很明显,就是后台加载太慢了.

部署

官方虽然提供了 docker 版本,但是貌似并不怎么上心.而且我在使用的时候出现了些问题,果断删了按照普通网站的部署来.(因为我只会这个)

直接从 GitHub 上下载最新的版本然后丢服务器解压就行了(试图直接用服务器下载结果卡网络了).然后添加一个二级域名给这个程序,访问首页按照安装引导点点点就行了.

要是有这么简单就好了,其实官方还提供了一份服务器配置文件,项目地址是 https://github.com/matomo-org/matomo-nginx 改改自己的域名, SSL 和 PHP 引用地址基本上就行了.如果使用的是 docker 版,做一个简单的反代和 SSL 应该就可以了,其余的我也不会(数据库地址和其他地方也需要自己琢磨,因为官方没提供 demo.

这里提供我的免登录匿名后台 https://matomo.kazusa.cc/

使用

在部署完成之后就会产生这样的代码,按照他们说的插到 head 里就好了,然后访问一次就能在后台看到数据.

部署在 docker 中就会是这样的内网地址,需要自己手动改成服务的域名.

<!-- Matomo -->
<script>
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//172.20.0.2/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '1']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->

这样的页面每次都要等一小会(即时动态生成数据,我也没做缓存策略)才能加载出来,除此之外也没什么大缺点.

2023-02-18T15:23:01.png
2023-02-19T08:31:38.png

对比一下 umami,我没用过也不知道后台长什么样
图片来源: https://guangzhengli.com/

2023-02-19T08:34:33.png
2023-02-19T08:34:46.png

下面的是挺清爽的而且响应快,奈何我不会相关技术.

补充: 没想到腾讯云居然提供了这个软件的镜像
2023-04-19T06:54:27.png