[comment]: # ({7900383c-7900383c})
# 从源码升级

[comment]: # ({/7900383c-7900383c})

[comment]: # ({4ab83dcf-92c7a8e5})
#### 概述

本节提供了使用官方 Zabbix 源将 Zabbix **7.4**.x 成功[升级](/manual/installation/upgrade)到 Zabbix **8.0**.x 所需的步骤。

::: notewarning
升级前，请务必阅读相关的[**升级说明**](/manual/installation/upgrade)！
:::

您可能还需要查看 8.0 的[要求](/manual/installation/requirements)。

::: notetip
在升级过程中，同时运行两个并行的 SSH 会话可能会很方便：在一个会话中执行升级步骤，在另一个会话中监控服务器/proxy 日志。例如，在第二个 SSH 会话中运行 `tail -f zabbix_server.log` 或 `tail -f zabbix_proxy.log`，以便实时查看最新的日志条目和可能出现的错误。这对于生产环境实例来说可能至关重要。
:::

[comment]: # ({/4ab83dcf-92c7a8e5})

[comment]: # ({101d6faf-101d6faf})
#### 服务器升级过程

[comment]: # ({/101d6faf-101d6faf})

[comment]: # ({b8308740-b8308740})
##### 1 停止服务器

停止 Zabbix 服务器，以确保不会有新数据被插入到数据库中。

[comment]: # ({/b8308740-b8308740})

[comment]: # ({ab13a6a4-ab13a6a4})
##### 2 备份现有的 Zabbix 数据库

这是非常重要的一步。请确保您已经备份了数据库。  
如果升级过程失败（磁盘空间不足、断电或任何意外问题），备份将会提供帮助。

[comment]: # ({/ab13a6a4-ab13a6a4})

[comment]: # ({d2778675-d2778675})
##### 3 备份配置文件、PHP 文件和 Zabbix 程序文件

备份 Zabbix 程序文件、配置文件和 PHP 文件目录。

[comment]: # ({/d2778675-d2778675})

[comment]: # ({10191bc2-2bb75ddd})
##### 4 安装新的服务器二进制文件

使用这些[instructions](/manual/installation/install/sources#installing-zabbix-daemons)从源码编译 Zabbix 服务器。

[comment]: # ({/10191bc2-2bb75ddd})

[comment]: # ({b743963f-ec6edae7})
##### 5 检查服务器配置参数

请务必查看[升级说明](/manual/installation/upgrade_notes)，以确认是否需要对配置参数进行任何更改。

有关新增的可选参数，请参见[新特性](/manual/whatsnew)页面。

[comment]: # ({/b743963f-ec6edae7})

[comment]: # ({a01e967f-a01e967f})
##### 6 启动新的 Zabbix 程序文件

启动新的程序文件。检查日志以确认程序文件是否成功启动。

Zabbix server 会自动升级数据库。服务启动时，Zabbix server 会报告当前的（包括强制和可选）和所需要的数据库版本。如果当前强制版本比要求的版本低，Zabbix Server 会自动执行所要求的数据库版本升级补丁。数据库升级进度（百分比）被写入 Zabbix server 的日志。当日志出现 “database upgrade fully completed” 表示数据库升级成功。如果有任何补丁升级失败，Zabbix server 将不会启动。如果当前强制数据库版本比要求的更新，Zabbix server 也不会启动。仅当当前强制数据库版本对应于所需数据库版本时，Zabbix server 才会启动。

   8673:20161117:104750.259 current database version (mandatory/optional): 03040000/03040000
   8673:20161117:104750.259 required mandatory version: 03040000



在启动 server 服务之前：

-   确保数据库用户有足够的权限（创建表、删除表、创建索引、删除索引）；
-   确保您有足够的可用磁盘空间。

[comment]: # ({/a01e967f-a01e967f})

[comment]: # ({7e535690-22e0e4e9})
##### 7 安装新的 Zabbix Web 界面

所需的最低 PHP 版本为 8.2.0。如有需要请先更新，然后按照[安装说明](/manual/installation/frontend)进行操作。

[comment]: # ({/7e535690-22e0e4e9})

[comment]: # ({49e4f43e-49e4f43e})
##### 8 清除 Web 浏览器 cookie 和缓存

升级后，您可能需要清除 Web 浏览器的 cookie 和缓存，以确保 Zabbix Web 界面正常工作。

[comment]: # ({/49e4f43e-49e4f43e})

[comment]: # ({75f5b3ed-75f5b3ed})
#### Proxy 升级过程

[comment]: # ({/75f5b3ed-75f5b3ed})

[comment]: # ({f33e6ddb-f33e6ddb})
##### 1 停止 proxy

停止 Zabbix proxy。

[comment]: # ({/f33e6ddb-f33e6ddb})

[comment]: # ({2e03c550-2e03c550})
##### 2 备份配置文件和 Zabbix Proxy 旧版本程序

备份配置文件和 Zabbix Proxy 旧版本程序。

[comment]: # ({/2e03c550-2e03c550})

[comment]: # ({2369ed2b-024201dc})
##### 3 安装新的 proxy 二进制文件

使用这些[instructions](/manual/installation/install/sources#installing-zabbix-daemons)从源代码编译 Zabbix proxy。

[comment]: # ({/2369ed2b-024201dc})

[comment]: # ({3b255488-2fbda571})
##### 4 检查 proxy 配置参数

请务必查看[升级说明](/manual/installation/upgrade_notes)，以确认是否需要对配置参数进行任何更改。

有关新的可选参数，请参见[新特性](/manual/whatsnew)页面。

[comment]: # ({/3b255488-2fbda571})

[comment]: # ({9177a792-520f43c6})
##### 5 启动新的 Zabbix proxy

启动新的 Zabbix proxy。检查日志文件以确认 proxy 是否已成功启动。

Zabbix proxy 将自动升级数据库。数据库升级过程与启动 [Zabbix 服务器](/manual/installation/upgrade/sources#start-new-zabbix-binaries) 时类似。

[comment]: # ({/9177a792-520f43c6})

[comment]: # ({59736bba-59736bba})
#### agent 升级流程

::: noteimportant
升级 agent 并非强制要求。只有在需要访问新功能时，
才需要升级 agent。
:::

本节中描述的升级流程可用于升级 Zabbix agent 和 Zabbix agent 2。

[comment]: # ({/59736bba-59736bba})

[comment]: # ({02698e69-02698e69})
##### 1 停止 agent

停止 Zabbix agent。

[comment]: # ({/02698e69-02698e69})

[comment]: # ({50263823-50263823})
##### 2 备份配置文件和 Zabbix agent 程序文件

备份配置文件和 Zabbix agent 程序文件。

[comment]: # ({/50263823-50263823})

[comment]: # ({627babed-467f56b3})
##### 3 安装新的 agent 二进制文件

使用这些[instructions](/manual/installation/install/sources#installing-zabbix-daemons)从源码编译 Zabbix agent。

或者，您也可以从[Zabbix 下载页面](http://www.zabbix.com/download.php)下载预编译的 Zabbix agent。

[comment]: # ({/627babed-467f56b3})

[comment]: # ({1a30a495-34721aad})
##### 4 检查 agent 配置参数

请务必查看[升级说明](/manual/installation/upgrade_notes)，以确认配置参数是否需要进行任何更改。

有关新的可选参数，请参见[新特性](/manual/whatsnew)页面。

[comment]: # ({/1a30a495-34721aad})

[comment]: # ({04c253a7-04c253a7})
##### 5 启动新的 Zabbix agent

启动新的 Zabbix agent。检查日志文件以确认 agent 是否已成功启动。

[comment]: # ({/04c253a7-04c253a7})

[comment]: # ({3ae7f617-a06019d2})
#### 次要版本之间的升级

在 8.0.x 的次要版本之间升级时（例如从 8.0.1 升级到 8.0.3），需要像主版本之间升级时一样，对服务器/proxy/agent 执行相同的操作。唯一的区别是，在次要版本之间升级时，不会对数据库进行任何更改。

[comment]: # ({/3ae7f617-a06019d2})
