77 lines
2.5 KiB
Markdown
77 lines
2.5 KiB
Markdown
---
|
||
title: 升级到新版本
|
||
menu:
|
||
docs:
|
||
weight: 70
|
||
parent: admin
|
||
---
|
||
|
||
{{< hint style="info" >}}
|
||
当一个新的Mastodon版本释出后,它将出现在[GitHub releases页面](https://github.com/mastodon/mastodon/releases)。请注意:运行来自`master`分支的未释出代码,虽然可以进行,但不推荐这样做。
|
||
{{< /hint >}}
|
||
|
||
Mastodon版本与git tags一致。在尝试升级之前,请至[GitHub releases页面](https://github.com/mastodon/mastodon/releases)查找所需版本。该页面包含了一个**更新日专**,其中描述你需要了解的所有差异,以及**特定的升级指令**。
|
||
|
||
开始之前,切换至`mastodon`用户:
|
||
|
||
```bash
|
||
su - mastodon
|
||
```
|
||
|
||
并转至Mastodon根目录:
|
||
|
||
```bash
|
||
cd /home/mastodon/live
|
||
```
|
||
|
||
下载相应版本代码,这里假定版本为`v3.1.2`:
|
||
|
||
```bash
|
||
git fetch --tags
|
||
git checkout v3.1.2
|
||
```
|
||
|
||
现在,执行GitHub版本发布说明中的升级指令。因为不同的版本有不同的指令,所以本页面将不包括任何指令。
|
||
|
||
{{< hint style="info" >}}
|
||
从旧版本升级时,你可以安全的跳过中间版本。你无需单独检出他们。然而,你确实需要追踪每一个版本的升级指令。大多数指令都是重叠的,你只需要确保每条至少执行一次即可。
|
||
{{< /hint >}}
|
||
|
||
当你执行完版本发布说明中的指令后,切换回root用户:
|
||
|
||
```bash
|
||
exit
|
||
```
|
||
|
||
重启**后台worker**:
|
||
|
||
```bash
|
||
systemctl restart mastodon-sidekiq
|
||
```
|
||
|
||
并重载**web进程**:
|
||
|
||
```bash
|
||
systemctl reload mastodon-web
|
||
```
|
||
|
||
{{< hint style="info" >}}
|
||
`reload`操作是零下线时间的重启(restart),也被称为“分阶段重启(phased restart)”。因此,Mastodon升级通常不需要为计划下线而提前发布公告。罕见情况下,你可以改用`restart`操作,但你的用户将感到(短暂的)服务中断。
|
||
{{< /hint >}}
|
||
|
||
罕见情况下,**streaming API** 服务也会被更新并需要重启:
|
||
|
||
```bash
|
||
systemctl restart mastodon-streaming
|
||
```
|
||
|
||
{{< hint style="danger" >}}
|
||
更新streaming API服务非常罕见,在大多数版本中,*不*需要重启它。重启streaming API将导致服务器负载增加,因为断线的用户会尝试重连或改用REST API轮询。因此请尽量避免重启streaming API服务
|
||
{{< /hint >}}
|
||
|
||
{{< hint style="success" >}}
|
||
**就这样!** 您现在正在运行新版本的Mastodon。
|
||
{{< /hint >}}
|
||
|
||
{{< translation-status-zh-cn raw_title="Upgrading to a new release" raw_link="/admin/upgrading/" last_tranlation_time="2020-05-04" raw_commit="ad1ef20f171c9f61439f32168987b0b4f9abd74b">}}
|