选用的是centos7.9系统
1-关闭防火墙
首先在服务器上关闭防火墙
Server安装(安装配置前需要关闭selinux和firewalld)
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
永久关闭SELinux:
修改vi /etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config
重启服务器生效
安装数据库并配置
参考:数据库repo下载地址
Download MariaDB Server - MariaDB.org
本次选择适配centos7的11.1版本mariadb
cd /etc/yum.repos.d
vi MariaDB.repo,粘贴下面内容
# MariaDB 11.2 CentOS repository list - created 2024-07-30 01:58 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/11.2/centos/$releasever/$basearch
baseurl = https://mirrors.aliyun.com/mariadb/yum/11.2/centos/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
yum update
yum makecache
yum install pv -y #yum安装不了的话就离线安装
yum install MariaDB-server MariaDB-client -y
systemctl start mariadb #启动数据库
systemctl enable mariadb #设置开机自启
#进入数据库
mysql
创建存储数据的库,并支持中文(库名:zabbix)
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
#授权连接数据库的用户,并设置密码(用户名:zabbix)
MariaDB [(none)]> create user zabbix@localhost identified by '123456';
#数据库授权
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
2-部署 Nginx + PHP 环境并测试
#安装nginx
cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[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
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
然后下载
yum update
yum makecache
yum -y install nginx
无法验证密钥的话 yum install --nogpgcheck nginx
安装 php
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-ldap php72w-bcmath
修改nginx配置文件
rm -rf /etc/nginx/conf.d/default.conf
vi /etc/nginx/conf.d/zabbix.conf
server {
listen 80;
server_name 改为实际ip地址;
root /usr/share/nginx/html;
location / {
index index.php index.html index.htm;
}
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;
}
}
修改 php 配置
vi /etc/php-fpm.d/www.conf 修改一下配置项
user = nginx
group = nginx
listen = 0.0.0.0:9000
vi /etc/php.ini 修改一下配置项
max_execution_time = 300
max_input_time = 600
post_max_size = 80M
date.timezone = Asia/Shanghai
#创建测试文件,启动服务
vi /usr/share/nginx/html/index.php
<?php
phpinfo();
?>
systemctl start nginx php-fpm
测试访问
- 打开浏览器访问:ip/index.php,测试下nginx是否可行
3-安装 Zabbix 相关软件包
#下载zabbix6.0源码包
mkdir /data
cd /data
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.30.tar.gz
tar -xf zabbix-6.0.30.tar.gz
#安装依赖包
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c++ make
#创建用户
useradd -s /sbin/nologin -M zabbix
#编译安装
cd /data/zabbix-6.0.30/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make && make install
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
#导入zabbix初始数据
mysql -uzabbix -p123456 zabbix < /data/zabbix-6.0.30/database/mysql/schema.sql
mysql -uzabbix -p123456 zabbix < /data/zabbix-6.0.30/database/mysql/images.sql
mysql -uzabbix -p123456 zabbix < /data/zabbix-6.0.30/database/mysql/data.sql
#修改配置文件指定数据库:
cp -rp /usr/local/zabbix/etc/zabbix_server.conf /usr/local/zabbix/etc/zabbix_server.conf.bak
vi /usr/local/zabbix/etc/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
#准备 systemctl 服务管理文件
cat > /usr/lib/systemd/system/zabbix-server.service << EOF
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/zabbix/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target
EOF
#启动zabbix_server服务
systemctl start zabbix-server.service
#查询是否启动成功
netstat -ntlp | grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1669/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 1669/zabbix_server
4-迁移zabbix的前端代码至/usr/share/nginx/html
#删除测试文件
rm -rf /usr/share/nginx/html/*
#把zabbix前端代码移到/usr/share/nginx/html/
mv /data/zabbix-6.0.30/ui/* /usr/share/nginx/html/
#修改前端代码所属组所属主
chown -R nginx. /usr/share/nginx/html/
#重启nginx
systemctl restart nginx
yum install -y zabbix-agent
systemctl start zabbix-agent
systemctl enable zabbix-agent
5-zabbix服务参数介绍
zabbix server服务名:zabbix-server 端口:10051
zabbix agent服务名:zabbix-agent端口:10050
zabbix server主配置文件:/usr/local/zabbix/etc/zabbix_server.conf
zabbix agent主配置文件:/etc/zabbix/zabbix_agentd.conf
zabbix企业微信报警脚本路径:/usr/lib/zabbix/alertscripts
zabbix自定义监控项路径:/etc/zabbix/zabbix_agentd.d zabbix
日志文件路径:/var/log/zabbix/