jsvi /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
检查是否有这么多包

配置nginx
jsvi /etc/nginx/conf.d/zabbix.conf
jsserver {
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;
}
}
创建目录测试
jsmkdir -p /app/code/zbx/
jsvi /app/code/zbx/info.php
js<?php
phpinfo();
?>
jssed -ri '/^(user|group)/s#apache#nginx#g' /etc/php-fpm.d/www.conf
chown -R nginx:nginx /app/code/zbx
jssystemctl start nginx php-fpm
测试nginx+PHP环境成功

编辑/etc/yum.repos.d/mariadb.repo文件
jscat > /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 缓存
jssudo yum clean all
安装 MariaDB 10.6 版本:
jsyum install MariaDB-server MariaDB-client -y
安装完成后查看版本
jsmysql --version

启动数据库
jssystemctl enable mariadb systemctl start mariadb
初始化数据库,10.6的路径变了
js/usr/bin/mariadb-secure-installation

替换命令中的“Zabbix@123”为你刚才设置的root密码,执行后自动完成配置
jsmysql -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;"

https://www.zabbix.com/cn/download_sources#60LTS
去官网下载源码包,上传到服务器

解压,然后进入数据库目录
jstar -zxvf zabbix-6.0.42.tar.gz
jscd /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
验证是否导入数据成功
jsmysql -u zabbix -p"12345678" zabbix -e "SHOW TABLES;" | wc -l
安装依赖
jsyum install -y gcc gcc-c++ make mysql-devel openssl-devel libxml2-devel libcurl-devel pcre-devel
jscd /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
加速进程编译
jsmake -j4
安装(将编译好的文件安装到 /usr/local/zabbix 目录)
jsmake 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
发现报错,去根据字段修改增加
jsvi /etc/php.ini
时区也要修改
jsdate.timezone = Asia/Shanghai
重启
jssystemctl restart php-fpm systemctl restart nginx



账号默认是:Admin,密码是:zabbix

本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!