Zabbix7.0部署完整指南
操作系统 RHEL 10 / CentOS Stream 10,数据库 MariaDB,Web 服务器 Nginx + PHP-FPM:7.0 LTS。
Zabbix 7.0 部署完整指南(基于 RHEL 10 / CentOS 10)
环境说明:操作系统 RHEL 10 / CentOS Stream 10,数据库 MariaDB,Web 服务器 Nginx + PHP-FPM
Zabbix 版本:7.0 LTS
目录
一、部署 Zabbix
1.1 环境准备
1. 克隆虚拟机(VMware / VirtualBox 克隆已有基础系统)
2. 设置主机名
hostnamectl set-hostname zabbix-server && bash
3. 配置静态 IP
nmcli c m ens160 ipv4.method manual ipv4.addr 192.168.194.11/24 ipv4.gateway 192.168.194.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
nmcli c up ens160
请根据实际网络环境修改 IP、网关、DNS。
1.2 安装 Zabbix
参考官网:https://www.zabbix.com/cn/download?zabbix=7.0&os_distribution=red_hat_enterprise_linux&os_version=10&components=server_frontend_agent&db=mysql&ws=nginx
1.2.1 安装 Zabbix 仓库
1. 如果有 EPEL 源,需要将 EPEL 源中的 Zabbix 相关包排除
# 安装epel 源
dnf install -y https://mirrors.aliyun.com/epel/epel-release-latest-10.noarch.rpm
编辑 /etc/yum.repos.d/epel.repo,在 [epel] 段添加:
excludepkgs=zabbix*

如需安装 EPEL 源:
dnf install https://mirrors.aliyun.com/epel/epel-release-latest-10.noarch.rpm -y
2. 安装 Zabbix 仓库
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/10/x86_64/zabbix-release-latest-7.0.el10.noarch.rpm
dnf clean all
1.2.2 安装 Zabbix Server、Web 前端、Agent
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf \
zabbix-sql-scripts zabbix-selinux-policy zabbix-agent -y
1.2.3 创建初始数据库
1. 安装 MariaDB
dnf install mariadb-server -y
2. 修改数据库配置文件
编辑 /etc/my.cnf.d/mariadb-server.cnf,修改或添加:
bind-address = 0.0.0.0
设置为
0.0.0.0允许远程连接(按需配置)。
3. 启动数据库服务
systemctl enable mariadb --now
4. 登录数据库并设置 root 密码
mysql -uroot -p
# MariaDB 默认无密码,直接回车即可登录
登录后修改 root 密码(可选但推荐):
alter user 'root'@'localhost' identified by '123456';
5. 创建 Zabbix 数据库与用户
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
记下这里的
password,后续配置 Zabbix Server 时会用到。
6. 导入初始架构和数据
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | \
mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
# 输入密码: password
导入过程可能需要几十秒到几分钟,请耐心等待。
7. 禁用 log_bin_trust_function_creators
mysql -uroot -p123456
set global log_bin_trust_function_creators = 0;
quit;
1.2.4 为 Zabbix Server 配置数据库
编辑 /etc/zabbix/zabbix_server.conf,修改以下参数:
DBHost=localhost
DBPassword=password
DBPassword的值与前面创建数据库用户时设置的密码一致。
1.2.5 为 Zabbix 前端配置 PHP
编辑 /etc/nginx/conf.d/zabbix.conf,取消注释并修改 listen 和 server_name:
server {
listen 8080;
server_name example.com;
...
}
端口可根据需要修改,这里使用
8080避免与默认 80 端口冲突。
1.2.6 配置 Web 前端连接 Zabbix Server
编辑 /etc/zabbix/web/zabbix.conf.php,明确指定 Web 前端连接 Zabbix Server 的地址和端口:
$ZBX_SERVER = '127.0.0.1';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbix-server';
如果 Zabbix Web 前端和 Zabbix Server 安装在同一台服务器,建议使用
127.0.0.1,避免localhost受 DNS 或 IPv6 解析影响导致前端提示无法连接localhost:10051。
确认 Zabbix Server 监听 10051 端口:
ss -lntp | grep 10051
nc -vz 127.0.0.1 10051
如果系统启用了 SELinux,并且 getenforce 输出为 Enforcing,需要允许 Nginx/PHP-FPM 访问网络端口:
getenforce
setsebool -P httpd_can_network_connect on
1.2.7 启动 Zabbix Server 和 Agent 进程
systemctl enable zabbix-server zabbix-agent nginx php-fpm --now
检查服务状态:
systemctl status zabbix-server zabbix-agent nginx php-fpm
二、配置 Web 端
1. 访问 Web 界面
打开浏览器访问:
http://192.168.194.11:8080
将 IP 替换为你的 Zabbix 服务器实际 IP。
2. 初始化安装向导
根据页面提示逐步完成配置:
- 检查前置条件(PHP 扩展、数据库连接等)→ 全部通过后进入下一步
- 数据库连接配置 → 填写之前创建的数据库
zabbix及用户名密码 - Zabbix 服务器信息 → 保持默认即可
- 确认配置摘要 → 点击 Next step 完成安装






3. 登录 & 中文配置
默认登录凭据:
| 项目 | 值 |
|---|---|
| 用户名 | Admin |
| 密码 | zabbix |

登录进去界面如下:

设置中文界面:
- 点击右上角用户头像 → User Settings → Profile
- Language 下拉框选择
Chinese (zh_CN) - 点击 Update


⚠️ 如果下拉框无法选择中文,说明系统中缺少中文语言包。在服务器上安装:
# 先查找中文包
find /mnt -name "*zh_CN*"
# 安装语言包
dnf install langpacks-zh_CN -y
安装完成后刷新浏览器页面,再次进入 User Settings,即可选择 Chinese (zh_CN),点击 Update 后界面变为中文。


完成
至此,Zabbix 7.0 服务已全部部署完成。你可以开始配置主机监控、创建告警规则、添加自定义仪表盘等操作。
常见问题
Q: 导入 SQL 时报错 ERROR 1115 (42000)?
A: 确认数据库字符集为 utf8mb4,且 log_bin_trust_function_creators 已设置为 1。
Q: Web 页面无法访问?
A: 检查 Nginx 和 PHP-FPM 是否正常运行,以及防火墙是否放行了对应端口(如 8080):
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
Q: Web 仪表盘提示 Zabbix server is not running,系统信息里显示 Zabbix服务器端运行中:否?
A: 先确认 Zabbix Server 进程和 10051 端口正常:
systemctl status zabbix-server --no-pager
ss -lntp | grep 10051
nc -vz 127.0.0.1 10051
如果端口可以连通,但 Web 前端仍显示未运行,检查 /etc/zabbix/web/zabbix.conf.php 是否配置了正确的 Server 地址和端口:
grep -nE "ZBX_SERVER|ZBX_SERVER_PORT" /etc/zabbix/web/zabbix.conf.php
应包含未被注释的配置:
$ZBX_SERVER = '127.0.0.1';
$ZBX_SERVER_PORT = '10051';
如果 SELinux 为 Enforcing,还需要开启 Web/PHP-FPM 网络访问权限:
getenforce
setsebool -P httpd_can_network_connect on
systemctl restart php-fpm nginx
黄色告警 Zabbix server has been restarted (uptime < 10m) 表示服务刚重启,通常等待 10 分钟左右会自动恢复。
Q: Zabbix Server 无法启动?
A: 查看日志定位问题:
journalctl -u zabbix-server -n 50 --no-pager
最后正常登录界面

参考资料
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)