在 DigitalOcean 上运行
DigitalOcean 是一家经济实惠的云托管服务提供商,可以让你托管自己的 Umami 设置。在本安装指南中,我们将安装 Ubuntu,一个 PostgreSQL 或 MySQL 数据库, 一个 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。