我如何用私有、开源且自托管的替代方案取代 Google Analytics
对我来说,查看我的投资组合网站的分析数据非常重要。这样,我就能知道哪些帖子的浏览量最高,我的用户来自哪个国家/地区,以及他们使用的浏览器和操作系统是什么。最简单的网站分析工具是Google Analytics,因为它免费且易于设置。但众所周知,这项服务之所以免费,是因为我们通过向其提供数据间接支付了费用。你需要了解 Google Analytics 及其隐私权。
在这篇博文中,我将向您展示如何用Umami替换Google Analytics, Umami 是一种简单、易于使用、自托管的网络分析解决方案。
鲜味
我选择鲜味是因为
Umami 不提供托管解决方案。因此,我们需要自行托管服务。Umami 的启动和运行只需要一个数据库(MySQL 或 PostgreSQL)以及一个可以运行 Node.js(10.13 或更高版本)的服务器。请查看可用的托管解决方案列表。
我将向您展示我尝试过的两种不同的鲜味方法。
在 Heroku 上运行
Heroku 是一个基于容器的云平台即服务 (PaaS)。开发者可以使用 Heroku 来部署、管理和扩展现代应用。该平台优雅、灵活且易于使用,为开发者提供将应用推向市场的最便捷途径。
您可以在“什么是 Heroku?”页面上阅读有关Heroku 的更多信息。
我们可以在 Heroku 上免费托管 Umami 及其对应的数据库。Umami文档中详细介绍了该设置。
为了使其运行,我只需要修改 npm start
script 命令以包含 Heroku 端口:
"start": "next start -p $PORT"
使用 Heroku 无疑是设置正在运行的 Umami 实例的最简单、最快捷的方法,但有一个缺点:它很昂贵。
我从我的网站收集了大约两天的分析数据,我很快意识到免费的“业余开发者” Heroku Postgres 计划是不够的。
这个免费计划包含 10,000 行数据库数据,我每天写入大约 1,000 行。所以大约 10 天就能用完免费计划的数据。下一个“Hobby Basic”计划每月收费 9 美元,包含 10,000,000 行数据,可以使用大约 27 年(假设每天新增 1,000 行数据,因此我的网站流量不会增加)。“Standard 0”计划每月收费 50 美元,提供无限行数据,但对于一个自托管的分析解决方案来说,这个价格实在是太高了。
在 DigitalOcean 和 Vercel 上运行
Heroku 的替代方案是将数据库托管在Digital Ocean上,将 Umami 托管在Vercel上。
DigitalOcean
Digital Ocean是一家价格实惠的云托管服务提供商。只需 5 美元/月,即可获得一台供个人使用的云服务器,并可根据需要进行扩展。使用此链接,您将获得前 60 天 100 美元的抵用金。
我在 DigitalOcean 上托管了一个 MySQL 数据库,需要按照以下步骤进行设置:
- 使用 Ubuntu 18.04 初始设置服务器
- 在 Ubuntu 上安装 MySQL
- 使用Umami MySQL 模式设置 MySQL 数据库模式
- 允许远程访问数据库
DigitalOcean 还提供了一个Node.js Droplet 模板,该模板内置于 Node.js、Ubuntu 和 Nginx 中,用于托管 Umami 前端。我们将使用Vercel,因为它完全免费。
韦尔塞尔
Vercel是 Umami 使用的Next.js框架背后的公司,他们提供免费的前端托管服务。可以想象,在Vercel上部署Next.js应用程序非常容易,因为这两个应用程序都是由同一家公司开发的。
该设置在官方文档中有描述。
如果您现在打开已部署的 Vercel 应用程序,则<app-name>.vercel.app
需要执行以下步骤
- 登录
- 将您的网站添加到 Umami
- 将跟踪代码添加到您的网站
- 可选:Umami 还可以跟踪您网站上发生的事件
这将产生一个可运行的私有、开源、自托管的分析解决方案:
结论
我可以睡得更安稳了,因为我现在知道我的网站不会再向谷歌发送数据了。我仍然可以追踪我的网站分析数据,但方式更简单,也更注重隐私。如果你熟悉 Ubuntu 和 MySQL/Postgres 等软件,那么设置 Umami 就相当简单了。
当然,我知道需要花一些钱来将这些分析数据存储在我的服务器上,但对我来说,这是值得的。
文章来源:https://dev.to/mokkaapps/how-i-replaced-google-analytics-with-a-private-open-source-self-hosted-alternative-5cla