搭建 Umami Web Analytics:一款轻量级网站分析工具

在当今数据驱动的互联网世界,了解网站的访问情况对运营者而言至关重要。而 Umami 是一款开源、轻量级、隐私友好的 Web Analytics 工具,可以帮助开发者轻松获取关键数据,同时避免用户隐私困扰。本文将结合实际经验,带您了解如何从零搭建 Umami 并实现网站分析。

为什么选择 Umami?

相比 Google Analytics 或其他重量级分析工具,Umami 的特点包括:

  • 隐私友好:无需使用 Cookie,不会跟踪用户的私人数据。
  • 轻量级:占用资源少,适合自托管环境。
  • 开源可定制:自由调整以适应不同需求。
  • 实时数据:快速响应,提供即时反馈。

这些特性使 Umami 成为开发者和隐私保护倡导者的理想选择。

环境准备

在搭建 Umami 之前,需要确保以下环境:

  • 服务器:一台支持 Node.js 和数据库的服务器。
  • 数据库:PostgreSQL 或 MySQL。
  • 域名:用于访问分析面板。

建议:推荐使用 PostgreSQL 作为数据库,因其性能稳定且与 Umami 兼容性良好。

搭建步骤

1. 安装依赖环境

首先,在服务器上安装必要的软件:

安装 Node.js

访问 Node.js 官方网站 下载并安装最新稳定版本,或者通过以下命令使用包管理器安装:

# 对于 Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs

# 验证安装
node -v
npm -v

安装 PostgreSQL

sudo apt update
sudo apt install -y postgresql postgresql-contrib

# 启动并设置自动启动
sudo systemctl start postgresql
sudo systemctl enable postgresql

# 创建数据库用户和数据库
sudo -u postgres psql
CREATE USER umami WITH PASSWORD 'umami_password';
CREATE DATABASE umami OWNER umami;
\q

2. 下载 Umami 源代码

从 GitHub 克隆 Umami 源代码:

git clone https://github.com/umami-software/umami.git
cd umami

3. 配置 Umami

复制默认配置文件并编辑:

cp .env.example .env
nano .env

修改以下内容以匹配您的环境:

DATABASE_URL=postgresql://umami:umami_password@localhost:5432/umami
APP_PORT=3000
APP_HOST=0.0.0.0

4. 安装依赖并构建项目

运行以下命令安装依赖并构建:

npm install
npm run build

5. 启动 Umami

通过以下命令启动 Umami:

npm start

Umami 默认在 3000 端口运行,可通过 http://<服务器IP>:3000 访问。

提示:建议使用 PM2 或其他进程管理工具确保服务在后台运行并自动重启。

配置反向代理

为方便访问 Umami 面板,可通过 Nginx 配置反向代理并启用 HTTPS。以下是 Nginx 配置示例:

server {
    listen 80;
    server_name analytics.example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

重启 Nginx 后,即可通过 http://analytics.example.com 访问。

集成到网站

将 Umami 集成到您的网站只需在 <head> 标签中添加一段 JavaScript:

<script
  async
  defer
  src="https://analytics.example.com/umami.js"
  data-website-id="YOUR_WEBSITE_ID"
></script>

替换 YOUR_WEBSITE_ID 为 Umami 面板中为该网站生成的 ID。

高级配置

自定义事件追踪

Umami 支持自定义事件,您可以跟踪特定用户行为:

umami("button_click");

多域名支持

在 Umami 中,您可以为不同的域名添加独立的站点配置,便于管理多个项目。

数据备份

定期备份数据库以防止数据丢失。例如,使用以下命令导出 PostgreSQL 数据:

pg_dump -U umami -F c umami > backup.dump

常见问题

部署后无法访问?

  1. 检查防火墙是否允许 3000 端口或配置的反向代理端口。
  2. 确保数据库连接正常并匹配 DATABASE_URL

数据未记录?

  • 确保已正确添加 <script> 标签到网站。
  • 检查浏览器中是否存在拦截脚本的插件。

总结

Umami 是一款强大的开源 Web Analytics 工具,适合个人开发者和小型团队快速部署和使用。通过本文的指导,您可以搭建一个隐私友好的网站分析系统,更好地了解用户行为,为网站优化提供可靠依据。