在 DigitalOcean 上运行

DigitalOcean 是一家经济实惠的云托管服务提供商,可以让你托管自己的 Umami 设置。在本安装指南中,我们将安装 Ubuntu,一个 PostgreSQLMySQL 数据库, 一个 Nginx 网络服务器,Node.js 和 Umami。 DigitalOcean 还提供了一个带有 Node.js、Ubuntu 和 Nginx 的 NodeJS droplet 构建,能让你更快开始。

个人使用的话,你可以从每月仅需 5 美元的云服务器开始,根据需要逐步扩展。你可以使用此 链接 在前 60 天内获得 100 美元的额度。

请注意,这些步骤可重复用于任何提供 Ubuntu 的云托管服务。

安装 Ubuntu

安装数据库(PostgreSQL 或 MySQL)

安装 Nginx

安装 Node.js

安装 Umami

  • 请参阅 Getting started 中的 安装

运行 Umami

你可以简单地运行 npm start 来启动 Umami,但强烈建议你使用像 PM2 这样的进程管理器,来帮助你处理自动重启。

使用 PM2 运行:

npm install pm2 -g
cd umami
pm2 start npm --name umami -- start
pm2 save

使用 Nginx 代理

当 Umami 运行起来后,你可以将域名或子域名的请求从 Nginx 代理到 Umami。

下面的配置会将所有来自 umami.yourdomain.com 的请求发送到本地的 Umami 实例。

server {
  server_name umami.yourdomain.com;

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

下面的配置允许你在域名的子路径下托管 Umami(例如 website.com/stats)。 这需要在你的 .env 文件中设置环境变量 BASE_PATH=/stats

server {
  ...
  location /stats/_next/static/ {
    alias /your_install_location/umami/.next/static/;
    access_log off;
    expires max;
  }
  location /stats {
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
  ...
}

添加 SSL 证书(可选)

完成

就是这样!你现在已经在自己的服务器上自托管了 Umami。