升级到新版本
main 分支中的未发布代码,但不推荐这样做。自动更新验证
从 v4.2.0 版本开始,Mastodon 将自动检查可用更新并通知服务器上拥有 DevOps 权限的用户。
这通过每 30 分钟在后台获取 https://api.joinmastodon.org/update-check?version=<current_version> 来实现。 current_version 省略了构建元数据(如果版本字符串中含有+,则为第一个 + 之后的所有内容)。例如,如果你的版本是 4.3.0-beta2+my-fork,Mastodon 将查询 https://api.joinmastodon.org/update-check?version=4.3.0-beta2。
你可以通过设置 UPDATE_CHECK_URL 环境变量来更改 Mastodon 查询的 URL。你也可以通过将此环境变量设置为空字符串来完全禁用此行为,但我们强烈建议不要这样做,除非你通过其他方式关注 Mastodon 更新,因为 Mastodon 偶尔会发布必须及时应用的关键安全更新。
升级步骤
Mastodon 的发布版本对应 git 标签。在尝试升级之前,请在 GitHub 发布页面 上查看所需的发布版本。该页面将包含变更日志,描述关于新版本不同之处的所有信息,以及特定的升级说明。
首先,切换到mastodon用户:
su - mastodon
并转到 Mastodon 根目录:
cd /home/mastodon/live
下载发布版本的代码,假设版本为v3.1.2:
git fetch --tags
git checkout v3.1.2
现在执行 GitHub 上该版本的发行说明 中包含的升级说明。由于不同的发布版本需要不同的说明,我们不在此页面上包含任何说明。
在执行完发布说明中的指令后,切回 root 用户:
exit
重启后台工作进程:
systemctl restart mastodon-sidekiq
并重新加载 Web 进程:
systemctl reload mastodon-web
reload 操作是一种零停机重启,也称为"分阶段重启"。因此,Mastodon 升级通常不需要提前通知用户计划停机。在极少数情况下,你可以使用 restart 操作代替,但用户会感受到(短暂的)服务中断。流式 API 服务器也会更新并需要重启,这将导致所有已连接的客户端断开连接,可能增加服务器负载:
systemctl restart mastodon-streaming
翻译状态: 本文是英文页面 Upgrading to a new release 的翻译,最后翻译时间:2025-04-21,点击这里可以查看翻译后页面的改动。