| 镜像版本 | IP | 角色 |
| AImaLinux9.6 | 10.0.23.202 | Zabbix Server |
| Centos7.9 | 10.0.21.196 | Zabbix Agent |
AImaLinux
从源代码安装 Zabbix 7.0.18
1. 准备工作
- 更新系统bash
sudo yum update -y
2. 安装依赖
- 安装 EPEL 源bash
sudo yum install -y epel-release
- 启用mariadb
sudo dnf module enable mariadb:10.11 -y
- 安装开发工具和库bash
sudo yum groupinstall -y "Development Tools"
sudo yum install -y make gcc curl-devel openssl-devel libxml2-devel glibc-devel glibc-devel.i686 libstdc++-devel libstdc++-devel.i686 net-snmp-devel mariadb-devel libevent-devel c-ares-devel pcre-devel
3. 安装 MariaDB
- 安装 MariaDBbash
sudo dnf install -y mariadb-server mariadb
- 启动并设置开机自启bash
sudo systemctl enable --now mariadb
- 运行安全脚本bash
sudo mysql_secure_installation
4. 创建 Zabbix 用户和组
- 创建 Zabbix 用户和组bash
sudo groupadd --system zabbix sudo useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
5. 下载并解压 Zabbix 源码
- 下载 Zabbix 源码bash
wget https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.18.tar.gz
- 解压源码bash
tar -zxvf zabbix-7.0.18.tar.gz cd zabbix-7.0.18
6. 配置和编译 Zabbix
- 设置 CFLAGS bash
export CFLAGS="-std=gnu99"
- 配置 Zabbixbash
./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-ares
- 编译并安装bash
make install
7. 配置 MariaDB
- 登录到 MariaDBbash
mysql -u root -p
- 创建 Zabbix 数据库和用户sql
-- 创建 zabbix 数据库,使用 utf8 字符集
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
-- 创建一个专门的 zabbix 用户,并授予其访问 zabbix 数据库的所有权限
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Gene@2025';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
-- 使权限生效
FLUSH PRIVILEGES;
-- 退出 MySQL shell
QUIT;
- 导入 Zabbix 数据库bash
cd ~/zabbix-7.0.18/database/mysql/
# 1. 首先导入 schema.sql,创建表结构
mysql -u zabbix -p zabbix < schema.sql
# 2. 然后导入 images.sql,插入图标等二进制数据
mysql -u zabbix -p zabbix < images.sql
# 3. 最后导入 data.sql,插入配置初始数据(如用户、媒体类型等)
mysql -u zabbix -p zabbix < data.sql
8. 安装 Zabbix Web 前端
- 安装必要软件包bash
sudo dnf install -y nginx php php-fpm php-mysqlnd php-gd php-bcmath php-mbstring php-json php-xml php-ldap php-curl
- 配置 Web 前端文件bash
# 创建 Web 目录并复制前端文件
sudo mkdir -p /usr/share/nginx/html/zabbix
sudo cp -r ~/zabbix-7.0.18/ui/* /usr/share/nginx/html/zabbix/
# 设置正确的文件所有权
sudo chown -R nginx:nginx /usr/share/nginx/html/zabbix
- 配置 PHP-FPM(命令行批量修改)bash
# 批量修改 PHP-FPM 配置
sudo sed -i 's/^\(;\)\?user = .*/user = nginx/' /etc/php-fpm.d/www.conf
sudo sed -i 's/^\(;\)\?group = .*/group = nginx/' /etc/php-fpm.d/www.conf
sudo sed -i 's/^\(;\)\?listen.owner = .*/listen.owner = nginx/' /etc/php-fpm.d/www.conf
sudo sed -i 's/^\(;\)\?listen.group = .*/listen.group = nginx/' /etc/php-fpm.d/www.conf
sudo sed -i 's/^\(;\)\?listen.mode = .*/listen.mode = 0660/' /etc/php-fpm.d/www.conf
# 启动并启用服务
sudo systemctl enable --now php-fpm
sudo systemctl restart php-fpm
- 创建 Nginx 配置文件bash
# 创建 Zabbix Nginx 配置
sudo tee /etc/nginx/conf.d/zabbix.conf > /dev/null << 'EOF'
server {
listen 80;
server_name $(hostname -I | awk '{print $1}');
root /usr/share/nginx/html;
index index.php index.html index.htm;
location /zabbix/ {
try_files $uri $uri/ /zabbix/index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
}
location ~ /\.ht {
deny all;
}
}
EOF
# 测试配置并重启 Nginx
sudo nginx -t && sudo systemctl enable --now nginx && sudo systemctl restart nginx
9. 配置 Zabbix Server
- 编辑 Zabbix Server 配置文件
sudo cp /usr/local/src/zabbix-7.0.18/conf/zabbix_server.conf /usr/local/etc/zabbix_server.conf sudo vim /usr/local/etc/zabbix_server.conf
修改以下配置:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix_password
- 创建 Zabbix Server 服务文件 创建 /etc/systemd/system/zabbix-server.service 文件,内容如下:
[Unit]
Description=Zabbix Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_server -c /usr/local/etc/zabbix_server.conf ExecStop=/usr/local/sbin/zabbix_server -c /usr/local/etc/zabbix_server.conf -x
Restart=on-failure
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
- 启动 Zabbix Serverbash
sudo systemctl daemon-reload
sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server
10. 配置 Zabbix Agent服务,不然会报错
- 编辑 Zabbix Agent 配置文件
sudo cp ~/zabbix-7.0.18/conf/zabbix_agentd.conf /usr/local/etc/
sudo vim /usr/local/etc/zabbix_agentd.conf
修改以下配置:
Server=10.0.23.202
ServerActive=10.0.23.202
- 创建 Zabbix Agent 服务文件 创建 /etc/systemd/system/zabbix-agent.service 文件,内容如下:
[Unit]
Description=Zabbix
Agent After=network.target
[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf ExecStop=/usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf -x
Restart=on-failure
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
- 启动 Zabbix Agentbash
sudo systemctl daemon-reload sudo systemctl start zabbix-agent sudo systemctl enable zabbix-agent
11. 配置防火墙和 SELinux
- 配置防火墙bash
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-port=10050/tcp sudo firewall-cmd --reload
- 宽松处理 SELinux(用于测试环境)bash
sudo setsebool -P httpd_can_network_connect on
sudo setenforce 0
一键修复所有 PHP 配置要求的命令
执行以下命令来修改 PHP 配置:
# 备份原始配置文件
sudo cp /etc/php.ini /etc/php.ini.backup
# 使用 sed 批量修改所有必需的参数
sudo sed -i 's/^\(;\)\?post_max_size = .*/post_max_size = 16M/' /etc/php.ini
sudo sed -i 's/^\(;\)\?max_execution_time = .*/max_execution_time = 300/' /etc/php.ini
sudo sed -i 's/^\(;\)\?max_input_time = .*/max_input_time = 300/' /etc/php.ini
# 同时设置其他推荐的 PHP 参数(用于 Zabbix)
sudo sed -i 's/^\(;\)\?date.timezone = .*/date.timezone = Asia\/Shanghai/' /etc/php.ini
sudo sed -i 's/^\(;\)\?max_input_vars = .*/max_input_vars = 10000/' /etc/php.ini
# 重启 PHP-FPM 使配置生效
sudo systemctl restart php-fpm

账号密码
Admin zabbix
Centos
1. 准备工作
- 更新系统bash
sudo yum update -y
2. 安装依赖
- 安装 EPEL 源bash
sudo yum install -y epel-release
- 安装开发工具和库bash
sudo yum groupinstall -y "Development Tools"
sudo yum install -y make gcc curl-devel openssl-devel libxml2-devel glibc-devel glibc-devel.i686 libstdc++-devel libstdc++-devel.i686 net-snmp-devel mariadb-devel libevent-devel c-ares-devel pcre-devel
3.创建 Zabbix 用户和组
- 创建 Zabbix 用户和组bash
sudo groupadd --system zabbix
sudo useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
4. 下载并解压 Zabbix 源码
- 下载 Zabbix 源码bash
wget https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.18.tar.gz
- 解压源码bash
tar -zxvf zabbix-7.0.18.tar.gz cd zabbix-7.0.18
5. 配置和编译 Zabbix
- 设置 CFLAGSbash
export CFLAGS="-std=gnu99"
- 配置 Zabbixbash
./configure --enable-agent
- 编译并安装bash
make install
6. 配置 Zabbix Agent服务
- 编辑 Zabbix Agent 配置文件
sudo cp ~/zabbix-7.0.18/conf/zabbix_agentd.conf /usr/local/etc/ sudo vim /usr/local/etc/zabbix_agentd.conf
修改以下配置:
Server=10.0.23.202 ServerActive=10.0.23.202
- 创建 Zabbix Agent 服务文件 创建 /etc/systemd/system/zabbix-agent.service 文件,内容如下:
[Unit]
Description=Zabbix Agent
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf ExecStop=/usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf -x
Restart=on-failure
User=zabbix
Group=zabbix
[Install] WantedBy=multi-user.target
- 启动 Zabbix Agentbash
sudo systemctl daemon-reload sudo systemctl start zabbix-agent sudo systemctl enable zabbix-agent
7. 配置防火墙和 SELinux
- 配置防火墙bash
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-port=10050/tcp
sudo firewall-cmd --reload
- 宽松处理 SELinux(用于测试环境)bash
sudo setsebool -P httpd_can_network_connect on
sudo setenforce 0