恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

CentOS 7.9安装Zabbix 6.0 LTS完整指南与避坑实战

  • 首页
  • 资讯中心
  • /
  • CentOS 7.9安装Zabbix 6.0 LTS完整指南与避坑实战

相关资讯

思科N9K配置实战:从管理VLAN到链路聚合的七步闭环指南 2026/10/16 18:28:39
从API到套件化:企业AI助手安全接入自有系统的核心指南 2026/10/16 18:28:39
Qwen1.5-7B-Chat_rai_1.8.0_medusa_1.0_npu 使用避坑指南:模型文件在哪?常见问题一次说清 2026/10/16 18:28:39

最新资讯

Python中文文本分析入门:从数据清洗到情感分析实战指南
72小时实战:把AI助手从聊天玩具炼成项目助理
SEMI E87-0301载具管理实战:状态机、事件上报与联调避坑
编译全流程解析:从源代码到机器指令的六阶段执行链路
从Zero移植空实现看Shenandoah屏障与JVM可移植性设计
2026 AI编译器工程师薪资行情与核心技能解析

今日推荐

Java八种基本类型深度解析:从内存布局到实战选型
基础:常用快捷键——IDEA、VS Code、PyCharm 与 Linux 终端效率速查
解决ultraedit下verilog .v文件中文注释乱码:把编码配置改到TaoToken辅助排查

本周热门

UE动画修改实战:从资产编辑到重定向与蒙太奇驱动
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真
政务API安全治理:资产测绘、低代码编排与行标对标实践

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

CentOS 7.9安装Zabbix 6.0 LTS完整指南与避坑实战

发布时间:2026/10/16 18:28:39
CentOS 7.9安装Zabbix 6.0 LTS完整指南与避坑实战 简介面向CentOS 7.9环境完整介绍了Zabbix 6.0 LTS的源码部署全流程覆盖Nginx 1.20.2编译安装、MySQL 8.0依赖配置、Zabbix Server与Agent的编译安装以及PHPFastCGI的衔接等内容适合Linux运维工程师和监控平台初学者按步骤实操。资源以单个docx文档呈现体积约257KB便于离线查看与打印。文档按部署顺序划分为环境准备、Nginx安装与加固、MySQL配置、Zabbix编译及Web接入等模块每步附有具体命令和参数说明如关闭SELinux、创建nginx用户组、隐藏Nginx版本号、编写systemd自启服务等同时给出zabbix_server.conf中数据库连接的配置示例帮助读者理解组件间的调用关系。目前已有4195人学习下载。无论目标是快速搭建一套可用的Zabbix监控系统还是复盘源码编译过程中的常见问题与对策这份笔记都能提供清晰的参考路径。1. CentOS 7.9 上装 Zabbix 6.0 LTS一个又老又要稳的监控组合CentOS 7.9 上安装 Zabbix 6.0 LTS是我这两年给存量服务器搭监控时做得最多的组合。CentOS 7 本身已经停止维护但大量线上机器还在 7.9 上稳定跑着不太可能为了一个监控系统顺手重做操作系统而 Zabbix 6.0 LTS 的官方标准支持延续到 2027 年选它意味着未来几年不用反复折腾大版本升级。这篇笔记会从 yum 仓库、MariaDB 数据库、zabbix-server、Web 前端到最后的链路验证一步一步写到能真正用起来并把安装过程中最容易翻车的地方单独标出来。适合手里有一台 CentOS 7.9 机器、想快速装出一套长期可用的 Zabbix 6.0 LTS 的运维和开发。2. 装前准备与官方仓库先理顺组件清单和依赖方向动手之前先把两件事确认清楚系统版本和网络通路。这两个点不出问题后面的安装才会顺。我见过不少装到一半才发现镜像源失效或者系统架构不对的情况都是在最前面省了这两条命令。2.1 确认系统与网络两条命令排除低级障碍先确认系统确实是 CentOS 7.9 且是 x86_64 架构。Zabbix 官方 6.0 仓库对 RHEL 7 只提供 x86_64 的 rpm 包如果机器是 ARM 或者其他架构后面装仓库包时会直接失败。检查命令如下cat /etc/redhat-release uname -m curl -I --connect-timeout 5 https://repo.zabbix.com第一行确认发行版和版本号第二行确认架构第三行确认能访问 Zabbix 官方仓库。curl 的-I参数只请求响应头--connect-timeout 5表示 5 秒连不上就放弃不会卡在那里。如果公司内网机器访问外网需要代理先把代理配到 yum 或环境中再继续。对于完全离线内网提前把 release rpm 和依赖包下载到本地是常见做法但依赖解析会比较麻烦建议内网搭建本地 yum 镜像仓库。2.2 安装官方 release 包并锁定 6.0 仓库Zabbix 官方提供的 release rpm 会把 yum 仓库地址、GPG 校验配置一次性装好之后 yum 安装组件时就能直接从官方仓库拉包不需要手动写 repo 文件rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm yum clean all yum makecache fast yum repolist | grep zabbixrpm -Uvh中的-U表示升级或安装-v显示过程-h输出 hash 进度。release 包命名里的6.0-4是 LTS 系列在 el7 上的发布包版本如果你的安装环境里官方仓库已经更新了 release 包以仓库里当前文件名替换即可。执行完yum repolist | grep zabbix后能看到zabbix/6.0的仓库信息就说明仓库锁定成功了。如果系统 yum 源已经失效CentOS 7 EOL 后很常见这一步会看到 mirrorlist 相关报错那就是 5.5 节里要解决的问题先往后走。2.3 核心组件安装server、web、agent、get 各自负责什么仓库就绪后直接安装核心组件。这一步才是真正的重头戏依赖关系也在这里第一次集中爆发yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get一个一个拆开说。zabbix-server-mysql是服务端主程序带 MySQL/MariaDB 的存储支持安装后会在系统里创建 zabbix 用户和/etc/zabbix目录zabbix-web-mysql是 Web 前端以及 PHP 访问数据库的配置会拉入 httpd 和 php-fpmzabbix-agent是采集端安装在所有需要被监控的机器上本机也可以装一个用于自监控zabbix-get是一个命令行工具用于验证 server 到 agent 的数据通路后面验证阶段会用到。如果你的机器内存只有 2G去掉前端只装 server 和 agent 也能跑但没有界面日常使用不方便一般不建议。如果这一步报依赖错误错误信息通常是Requires: php 7.2之类直接跳到 5.1 节把 remi 仓库加上再回来重试。安装完成后用rpm -qa | grep zabbix检查确认 4 个包都装上了。注意这里还没到启动阶段先不要急着systemctl start数据库还没准备好启动了也会失败。3. 数据库选型与初始化MariaDB 10.5 与 create.sql.gz 的完整链路Zabbix 6.0 的 server 依赖数据库存储配置、历史数据和告警记录数据库这步做不对后面 server 起来也是白起。这一章先说清楚版本门槛再给完整的初始化流程。3.1 为什么 6.0 LTS 不接受 CentOS 7 自带的 MariaDB 5.5CentOS 7.9 自带的是 MariaDB 5.5这是一个 2012 年左右的版本而 Zabbix 6.0 LTS 的官方支持列表里早就没有它了。如果直接用系统自带的数据库安装 zabbix-server-mysqlserver 启动时会直接报unsupported database version日志里会明确提示版本不支持。与其到启动那一步再排查不如在一开始就装一个官方支持列表内的版本。我的选择是 MariaDB 10.5而不是 MySQL 8.0。原因有三条一是 10.5 在 Zabbix 6.0 LTS 的支持列表内兼容性经过了充分验证二是 MariaDB 官方提供 yum 仓库配置脚本版本切换成本低三是 MariaDB 的内存占用比 MySQL 8.0 小而存量 CentOS 7 机器普遍配置不高监控系统本身不宜吃太多资源。如果你所在团队已经统一在用 MySQL 8.0也可以用但下面的命令就按 MariaDB 10.5 来写。3.2 用 MariaDB 官方仓库装 10.5 并建库授权MariaDB 官方提供了一个仓库配置脚本可以按指定大版本生成 yum 源比手动写 repo 文件省事curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash -s -- --mariadb-server-version10.5 yum install -y MariaDB-server MariaDB-client systemctl enable --now mariadbcurl 的-L表示跟随重定向-sS表示安静模式但保留错误输出管道交给 bash 执行。--mariadb-server-version10.5会生成指向 10.5 系列的 yum 仓库文件路径在/etc/yum.repos.d/mariadb.repo。注意 MariaDB 官方仓库的包名区分大小写是MariaDB-server不是小写的mariadb-serveryum 对大小写敏感。systemctl enable --now mariadb的意思是开机自启并立即启动一条命令完成两件事。启动后建议先跑一遍mysql_secure_installation这一步会交互式设置 root 密码、移除匿名用户、禁用 root 远程登录生产环境不要跳过。然后创建 Zabbix 的数据库和用户mysql -uroot -p登录后执行CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER zabbixlocalhost IDENTIFIED BY 你的密码; GRANT ALL PRIVILEGES ON zabbix.* TO zabbixlocalhost; FLUSH PRIVILEGES; EXIT;数据库名固定叫zabbix字符集用 utf8mb4排序规则 utf8mb4_bin。utf8mb4 能存四字节的 emoji 和生僻字避免监控项名字或告警内容里有特殊字符时写入报错utf8mb4_bin 是二进制比较对 Zabbix 这种以机器读为主的系统更合适。创建用户和授权分两条 SQL 写是因为 MySQL 8.0 之后不再支持GRANT语句里带IDENTIFIED BY分两条写法在 MySQL 和 MariaDB 上都兼容。密码先用一个临时强密码后面在zabbix_server.conf里要填同一个。3.3 导入官方 Schemazcat 管道与导入后的验证数据库和账号准备好后导入 Zabbix 官方提供的建表脚本。这个脚本在安装 zabbix-server-mysql 包时被放到文档目录里zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p zabbixzcat直接解压 .gz 文件并将内容输出到标准输出管道交给 mysql 客户端导入到 zabbix 库。-p后面会交互式要求输入 root 密码。create.sql.gz 这个文件是压缩的所以路径里带*通配符避免不同小版本号导致命令不匹配。导入过程取决于机器性能几十秒到几分钟都有可能终端没有输出是正常的不要因为没动静就断开连接。如果这个路径找不到文件用rpm -ql zabbix-server-mysql | grep create.sql.gz定位实际位置。导入完成后做两个验证动作。第一确认表已经建好mysql -uzabbix -p zabbix -e SHOW TABLES;看到一百多张表说明导入基本成功。第二确认 zabbix 账号能真正连上数据库并且能访问这些表这一步实际模拟了后面 zabbix-server 的连接方式。如果这里报Access denied回到建用户那一步重新核对密码不要在 server 启动报错时再回头查。4. 打通 zabbix-server 与 Web 前端参数、SELinux、防火墙、时区数据库就绪后剩下的就是把 zabbix-server 和 Web 前端跑起来。这一章把配置、系统权限、PHP 时区三个环节一次走完顺序不要乱。4.1 zabbix_server.conf 里必须改的三个参数zabbix-server 的配置文件在/etc/zabbix/zabbix_server.conf。这个文件很长大部分默认值不用动真正的必改项就三处数据库名、数据库用户名、数据库密码。直接查看当前生效值用 grepgrep -E ^(DBName|DBUser|DBPassword|DBHost) /etc/zabbix/zabbix_server.conf默认情况下DBName和DBUser已经是zabbix不需要改DBPassword是空的必须填成你在 3.2 节设置的密码。用 vim 打开文件找到DBPassword那一行去掉行首的#注释并补上密码。DBHost保持注释状态即可Zabbix 会使用本机 socket 连接 MariaDB比 TCP 方式少一层网络开销。如果数据库在另一台机器把DBHost改成那台机器的 IP并确认数据库里创建了对应的远程用户。这三处改完后先启动看看systemctl start zabbix-server tail -f /var/log/zabbix/zabbix_server.log正常启动时日志会继续滚动输出不再报错。如果日志里出现 database 相关的错误优先检查数据库版本和密码。注意tail -f会一直盯着文件看到没有新错误后按 CtrlC 退出不要留着这个进程去干别的。4.2 SELinux 与防火墙10051 和 80 的放行姿势CentOS 7 默认开启了 SELinux即使防火墙端口全开、服务监听正常进程之间的网络访问也可能被 SELinux 拦下来。zabbix-server 要访问数据库和 agenthttpd 要回连 zabbix-server这两条在默认策略里都不是直接放行的需要手动打开对应布尔值setsebool -P zabbix_can_network on setsebool -P httpd_can_connect_zabbix on getsebool -a | grep zabbix-P参数表示写入策略并持久化重启后依然生效。zabbix_can_network允许 zabbix 相关进程进行网络通信是 server 访问 agent 和数据库的关键httpd_can_connect_zabbix允许 Apache 连接 Zabbix server 的 10051 端口是前端页面能拿到数据的前提。如果对 SELinux 不熟也可以直接安装官方提供的zabbix-selinux-policy包系统会自动装载对应的策略上面两个布尔值再按需开启即可。防火墙放行按最小权限来做firewall-cmd --permanent --add-port10051/tcp firewall-cmd --permanent --add-servicehttp firewall-cmd --reload10051 是 zabbix-server 的监听端口必须对外放行agent 上报数据都走这个口http 是 Web 前端用的如果后续要加 HTTPS 再放 443。同一台机器上的 agent 监听 10050 端口只是本地自监控的话走 loopback 不需要放行如果打算从其他机器用zabbix_get来验证本机 agent也需要放行 10050。最后把服务拉起来并确认监听状态systemctl enable --now zabbix-server zabbix-agent ss -tlnp | grep -E 10051|10050enable --now同时完成开机自启和立即启动。ss输出里能看到 10051 和 10050 两个LISTEN状态说明服务侧已经就绪。到这里 server 链路通了但前端还没配继续。4.3 PHP-FPM 时区与安装向导的验证顺序Zabbix 6.0 在 RHEL 7 上的 Web 前端默认走 Apache PHP-FPMPHP 配置单独放在/etc/php-fpm.d/zabbix.conf。安装向导第一步会对 PHP 环境做前置检查其中最常挂掉的就是时区项因为官方文件里date.timezone默认被注释掉了。打开文件改这一行vim /etc/php-fpm.d/zabbix.conf找到php_value[date.timezone]把前面的分号去掉值改成Asia/Shanghaiphp_value[date.timezone] Asia/Shanghai改完重启 PHP-FPM然后启动 Apachesystemctl restart php-fpm systemctl enable --now httpd浏览器访问http://服务器IP/zabbix进入安装向导。第一步检查 PHP 前置条件时区项应该已经变成 OK第二步填数据库连接DB host 留 localhostDB name 填 zabbixDB user 填 zabbixDB password 填你设置的密码第三步 Zabbix server details 保持默认即可。向导完成后会在/etc/zabbix/web/zabbix.conf.php生成前端配置文件。登录页默认账号 Admin密码 zabbix。第一次登录后建议立刻在右上角用户设置里改掉默认密码并把语言切到 Chinese (zh_CN)。再到 Administration → General 里把时区确认成Asia/Shanghai否则告警时间和你的手机时间对不上排查问题时容易产生误导。5. 安装高频避坑五个翻车现场的排查与修复这套组合装多了之后我基本把这几个坑当成了例行检查项。每一条都是真实遇到过的按现象、原因、解决的顺序写方便你对照日志定位。5.1 PHP 依赖装不上默认 PHP 5.4 不够用现象执行yum install zabbix-web-mysql时yum 报Requires: php 7.2之类的依赖错误安装直接中止。原因CentOS 7 仓库自带的 PHP 是 5.4远低于 Zabbix 6.0 LTS 要求的 PHP 7.2而 Zabbix 官方仓库本身不提供 PHP 包yum 找不到能满足依赖的候选版本。解决先安装 EPEL 和 Remi 仓库让 yum 能解析到新版 PHP再重试安装rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-getRemi 仓库是 RHEL 系上最常用的 PHP 版本仓库yum 在解析依赖时会自动从里面选择满足 Zabbix 要求的 PHP 版本。重试前建议先yum clean all清理一次缓存避免残留的依赖元数据干扰判断。5.2 数据库版本太旧server 日志里的 unsupported database现象zabbix-server 启动后进程退出/var/log/zabbix/zabbix_server.log里出现unsupported database version或类似的版本报错。原因机器上跑的还是 CentOS 7 自带的 MariaDB 5.5Zabbix 6.0 官方支持列表里已经没有这个版本server 拒绝在旧版本上初始化存储结构。解决按第 3 章的方法安装 MariaDB 10.5。如果之前已经往旧的 zabbix 数据库里导入过数据需要先DROP DATABASE zabbix再重新CREATE因为 5.5 和 10.5 的表结构不保证兼容直接升级数据库后继续用旧表风险很大。5.3 SELinux 拦截导致 Agent 不可达明明端口都放行了现象Web 前端里 Zabbix server 主机显示 agent 不可达但在本机用zabbix_get连 localhost 又能正常返回数据防火墙端口也已经放行。原因这类问题十有八九是 SELinux 拦截。zabbix-server 进程向 agent 发起连接时被 SELinux 策略阻止而端口放行和监听状态都正常单单从网络层面很难发现原因。解决执行setsebool -P zabbix_can_network on让 zabbix 相关进程具备网络访问能力。如果前端和后端分离部署还需要setsebool -P httpd_can_connect_zabbix on。做完用getsebool -a | grep zabbix确认状态再回到前端看主机是否恢复。5.4 前端向导报时区红叉date.timezone 没有被设置现象访问/zabbix进入安装向导第一步 PHP 前置检查里date time zone一项显示红色 Fail。原因Zabbix 6.0 在 RHEL 7 的前端配置文件/etc/php-fpm.d/zabbix.conf里预置了 PHP 参数但时区默认是注释状态PHP-FPM 进程以默认 UTC 运行安装向导据此判定环境不满足要求。解决编辑/etc/php-fpm.d/zabbix.conf将php_value[date.timezone]前的分号去掉并设为Asia/Shanghai然后systemctl restart php-fpm再刷新页面。注意改完要重启的是 php-fpm不是 httpd否则配置不生效。5.5 CentOS 7.9 的 yum 源失效先回 vault 再谈安装现象装什么都报Could not retrieve mirrorlist或Cannot find a valid baseurl for repo: baseZabbix 仓库和系统仓库全都拉不到包。原因CentOS 7 已停止维护官方 mirrorlist 服务不再提供 7 的镜像列表系统基础源base、updates进入失效状态。这是 2024 年之后新装 CentOS 7 机器最容易遇到的第一道坎。解决把基础源切换到 vault.centos.org 的归档地址sed -i s|^mirrorlist|#mirrorlist|g /etc/yum.repos.d/CentOS-Base.repo sed -i s|^#baseurlhttp://mirror.centos.org|baseurlhttps://vault.centos.org|g /etc/yum.repos.d/CentOS-Base.repo yum clean all yum makecache第一条把mirrorlist行全部注释掉第二条把注释状态的baseurl从失效域名切到 vault 归档域名。执行完yum makecache能正常拉取元数据说明基础源已修复。Zabbix 的官方仓库地址不受 CentOS EOL 影响仍然可以正常访问。6. 装完别急着收工用 zabbix_get 验证链路和两个上线习惯服务全部都起来、前端也能登录这时还不算真正完成。很多“装好了”最后被发现是界面通了但数据链路没通所以我把验证动作固定成了收尾习惯。先在本机验证 agent 通路zabbix_get -s 127.0.0.1 -p 10050 -k agent.ping zabbix_get -s 127.0.0.1 -p 10050 -k system.cpu.load[all,avg1]第一条返回1表示 agent 在线且应答正常第二条能取到 CPU 负载浮点数说明数据链路完整。如果返回ZBX_NOTSUPPORTED先检查 key 的写法和 agent 配置里的 UserParameter 是否匹配。随后在 Web 前端创建一台主机指向 127.0.0.1链接Template OS Linux by Zabbix agent等一两分钟后到 Monitoring → Latest data 里刷新能看到 CPU、内存等数据落库这套系统才算真正闭环。我现在的习惯是装完这套组合后在“server 起来、前端能登录、还没加业务主机”这个位置打一个虚拟机快照。这个点是重来成本最低的回滚点比卸载重装快得多。然后把zabbix_server.conf和zabbix.conf里手工改过的参数用 diff 存档到安装记录里下次新机器直接照着放参数不用再翻文档对默认值。监控系统的价值在稳定不在安装速度。装完花五分钟验证链路比上线后半夜看告警来得踏实。希望帮到你。本文还有配套的精品资源点击获取

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号