编辑
2025-10-27
Zabbix6.0
00

目录

一、zabbix服务端安装
二、数据库的部署
三、向数据库导入数据
四、安装zabbix服务端
五、前端部署
六、页面设置

一、zabbix服务端安装

js
vi /etc/yum.repos.d/nginx.repo
js
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
js
# 1. 下载阿里云CentOS 7基础仓库(注意-o前后空格和完整URL) curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 2. 安装EPEL仓库(命令正确,无需修改) yum install epel-release.noarch -y # webtatic依赖 # 3. 下载阿里云EPEL 7仓库(补全URL和格式) curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo # 4. 安装webtatic仓库(补全URL并保持命令在同一行) rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # 5. 安装PHP 7.2相关包(命令正确,包名无误) yum install php72w-cli php72w-fpm php72w-gd php72w-mbstring php72w-bcmath php72w-xml php72w-ldap php72w-mysqlnd nginx -y

检查是否有这么多包 image.png

配置nginx

js
vi /etc/nginx/conf.d/zabbix.conf
js
server { listen 80; server_name 192.168.201.112; root /app/code/zbx; # 处理静态文件和目录索引 location / { index index.php index.html index.htm; # 补充默认索引页,更健壮 try_files $uri $uri/ =404; # 避免防目录遍历,增强安全性 } # 处理PHP请求 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

创建目录测试

js
mkdir -p /app/code/zbx/
js
vi /app/code/zbx/info.php
js
<?php phpinfo(); ?>
js
sed -ri '/^(user|group)/s#apache#nginx#g' /etc/php-fpm.d/www.conf chown -R nginx:nginx /app/code/zbx
js
systemctl start nginx php-fpm

测试nginx+PHP环境成功 image.png

二、数据库的部署

编辑/etc/yum.repos.d/mariadb.repo文件

js
cat > /etc/yum.repos.d/mariadb-10.6.repo << 'EOF' [mariadb-10.6] name = MariaDB 10.6 Repository baseurl = http://mirrors.aliyun.com/mariadb/yum/10.6/centos7-amd64/ gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck = 1 enabled = 1 priority = 1 EOF

清理 yum 缓存

js
sudo yum clean all

安装 MariaDB 10.6 版本:

js
yum install MariaDB-server MariaDB-client -y

安装完成后查看版本

js
mysql --version

image.png

启动数据库

js
systemctl enable mariadb systemctl start mariadb

初始化数据库,10.6的路径变了

js
/usr/bin/mariadb-secure-installation

image.png

替换命令中的“Zabbix@123”为你刚才设置的root密码,执行后自动完成配置

js
mysql -u root -p"12345678" -e " CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '12345678'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES; "

验证是否成功

js
# 登录Zabbix专用用户,查看是否能访问数据库 mysql -u zabbix -p"12345678" -e "SHOW DATABASES;"

image.png

三、向数据库导入数据

https://www.zabbix.com/cn/download_sources#60LTS

去官网下载源码包,上传到服务器

image.png

解压,然后进入数据库目录

js
tar -zxvf zabbix-6.0.42.tar.gz
js
cd /songxuan/zabbix-6.0.42/database/mysql
js
# 1. 导入表结构(替换 12345678 为你设置的 zabbix 用户密码) mysql -u zabbix -p"12345678" zabbix < schema.sql # 2. 导入图标数据 mysql -u zabbix -p"12345678" zabbix < images.sql # 3. 导入初始数据(Zabbix 默认用户、角色等,生产环境必须导入) mysql -u zabbix -p"12345678" zabbix < data.sql

验证是否导入数据成功

js
mysql -u zabbix -p"12345678" zabbix -e "SHOW TABLES;" | wc -l

四、安装zabbix服务端

安装依赖

js
yum install -y gcc gcc-c++ make mysql-devel openssl-devel libxml2-devel libcurl-devel pcre-devel
js
cd /songxuan/zabbix-6.0.42/

执行配置命令(指定安装路径为 /usr/local/zabbix,启用 MariaDB 支持)

js
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-openssl --with-libcurl --with-libxml2

加速进程编译

js
make -j4

安装(将编译好的文件安装到 /usr/local/zabbix 目录)

js
make install
js
# 1. 复制源码中的配置文件模板到安装目录 cp /songxuan/zabbix-6.0.42/conf/zabbix_server.conf /usr/local/zabbix/etc/ cp /songxuan/zabbix-6.0.42/conf/zabbix_agentd.conf /usr/local/zabbix/etc/ # 2. 自动修改 Zabbix Server 配置文件(替换数据库密码为你的 12345678,需与之前一致) sed -i 's/# DBPassword=/DBPassword=12345678/' /usr/local/zabbix/etc/zabbix_server.conf # 确认数据库名 sed -i 's/DBName=zabbix/DBName=zabbix/' /usr/local/zabbix/etc/zabbix_server.conf # 确认用户名 sed -i 's/DBUser=zabbix/DBUser=zabbix/' /usr/local/zabbix/etc/zabbix_server.conf sed -i 's/# LogFile=/LogFile=\/var\/log\/zabbix\/zabbix_server.log/' /usr/local/zabbix/etc/zabbix_server.conf # 设置日志路径 # 3. 创建日志目录并授权(避免启动时权限不足) mkdir -p /var/log/zabbix chown root:root /var/log/zabbix chmod 755 /var/log/zabbix

创建系统服务(实现 systemctl 管理,支持开机自启)

js
# 1. 创建 Zabbix Server 系统服务文件 cat > /usr/lib/systemd/system/zabbix-server.service << 'EOF' [Unit] Description=Zabbix Server After=network.target mariadb.service [Service] Type=forking ExecStart=/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf ExecStop=/usr/bin/pkill zabbix_server Restart=on-failure [Install] WantedBy=multi-user.target EOF # 2. 创建 Zabbix Agent 系统服务文件 cat > /usr/lib/systemd/system/zabbix-agent.service << 'EOF' [Unit] Description=Zabbix Agent After=network.target [Service] Type=forking ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf ExecStop=/usr/bin/pkill zabbix_agentd Restart=on-failure [Install] WantedBy=multi-user.target EOF # 3. 重新加载系统服务配置 systemctl daemon-reload

五、前端部署

js
# 1. 确保目标目录存在,不存在则创建 mkdir -p /app/code/zbx # 2. 从你的源码包中复制 Web 前端文件(源码路径是 /songxuan/zabbix-6.0.42/ui) cp -r /songxuan/zabbix-6.0.42/ui/* /app/code/zbx/ # 3. 授权目录权限(关键:确保 PHP 进程能读写,Nginx 运行用户通常是 nginx 或 www-data) # 先确认 Nginx 运行用户(一般是 nginx,若不是则替换为实际用户) ps aux | grep nginx | grep -v grep | awk '{print $1}' # 输出的就是 Nginx 用户 # 假设用户是 nginx,执行授权 chown -R nginx:nginx /app/code/zbx chmod -R 755 /app/code/zbx # 目录755,文件644,确保权限正确

这时就已经完成部署了,可以访问页面http://192.168.201.112/setup.php

六、页面设置

image.png image.png 发现报错,去根据字段修改增加

js
vi /etc/php.ini

时区也要修改

js
date.timezone = Asia/Shanghai

重启

js
systemctl restart php-fpm systemctl restart nginx

image.png

image.png

image.png

账号默认是:Admin,密码是:zabbix image.png

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document