前段时间发现,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 并无区别,可参考我写的这篇文章:
其他
之前的文章介绍过使用 CDN 加速 Umami 的脚本,Umami升级到V2后,脚本内容已经更新,需要您更新托管到 CDN 的静态文件。
下载文件,然后上传到服务器即可。
升级后,网站上的配置链接不必进行更改。