前段时间发现,Umami 已经更新到了 V2 版本,遂升级了一下,也遇到不少坑,记录一下。

请注意,升级有风险,请您注意备份已有的数据库以及项目文件,以便升级中遇到错误,进行回退。
另外,此处介绍的为基于 《Umami 自建网站访问量统计系统》做的V1->V2的升级,如您没使用过Umami,请配合本文内容与《Umami 自建网站访问量统计系统》中的内容进行项目部署。

本文中,并无介绍 Node.js 与 yarn 的安装与配置,请参考上面链接中的文章进行安装部署。

项目介绍

项目地址:Umami

Umami 基于Next.js 开发,并且支持 MySQL 或 Postgresql 等数据库存储方式,可以将数据掌握在自己手中。并且 Umami 还提供了非常详细的流量分析可视化的界面,UI 体验以及统计准确度十分不错(此处所讲统计精准度为实际真是访客的访问量,有可能一天只有1-2请做好心理准备。)

官方文档:Umami Docs


升级数据库

本地升级

如果你之前使用过 Umami V1,打算从 V1 升级到 V2,直接执行下面的命令:

cd umami
npx @umami/migrate-v1-v2@latest

上面打开目录,请按照实际情况来修改。

托管平台升级

如果你选择的使用 Vercel 之类的托管平台,以至于没有目录的权限,则需要克隆 V1->V2的升级项目,进行数据库升级。

git clone https://github.com/umami-software/migrate-v1-v2.git
cd migrate-v1-v2
yarn install
yarn build

则需要在文件夹中创建一个 .env 的文件,其内容如下:

DATABASE_URL={connection url}

运行项目以升级数据库结构

yarn start

重新构建

数据库升级成功后,则需要重新构建项目,在此处写明升级方法。

本地构建项目

在构建之前,请备份 .env 文件,备份后需要删除整个 umami 数据库

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

此时需要将备份好的 .env 文件,放回到目录中。

构建项目:

yarn build

构建完成后,可运行项目:

yarn start

配置文件也需要进行更新,原来的 umami.service 已不可使用,请替换为新版:

[Unit]
Description=Umami App
After=network.target

[Service]
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/www/server/nodejs/node-v16.14.2-linux-x64/bin/
ExecStart=/www/server/nodejs/node-v16.14.2-linux-x64/bin/yarn start
WorkingDirectory=/www/wwwroot/umami
Restart=always
RestartSec=10
Type=simple
User=root
Group=root

[Install]
WantedBy=multi-user.target

此时保存即可,运行:

# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start umami
# 设置开机启动
systemctl enable umami

详细的管理命令如下:

# 启动服务
systemctl start umami
# 设置开机启动
systemctl enable umami
# 停止服务
systemctl stop umami
# 重启服务
systemctl restart umami
# 查看状态
systemctl status umami
# 更新配置
systemctl daemon-reload

使用 Vercel 构建 Umami V2

有关 Vercel 构建 Umami V2的方法,与构建 V1 并无区别,可参考我写的这篇文章:

Vercel 云服务构建 Umami

其他

之前的文章介绍过使用 CDN 加速 Umami 的脚本,Umami升级到V2后,脚本内容已经更新,需要您更新托管到 CDN 的静态文件。

下载文件,然后上传到服务器即可。

升级后,网站上的配置链接不必进行更改。

如在安装或构建过程中遇到错误,请检查使用的 Node.js 版本与 yarn 版本是否不符合要求,或者过于新。官方要求 Node.js 版本 14.3 或更高。


《Umami V1 升级到 V2》