系统版本CentOS Linux release 7.9.2009 (Core)
nginx 版本 nginx-1.22.1
php 版本 8.0.26
mysql 版本 8.0.31
zabbix 版本 6.2.6
网上教程设置时都大同小异,部分教程关键步骤缺失,或个别报错的地方没写出处理方法,本篇按照最简单的设置方法,只需要按照内容一步步操作,基本上可以做到一次部署成功。
部署步骤主要分为以下几个部分
第一步设置系统环境,关闭selinux和防火墙
第二步安装zabbix
第三步安装mysql
第四步安装nginx
第五步安装php
第六步设置php和zabbix集成
安装设置系统环境
##关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
##禁用防火墙
systemctl disable --now firewalld
##重启
reboot
##查看selinux状态
sestatus
SELinux status: disabled
##查看防火墙状态
systemctl status firewalld.service
安装zabbix
groupadd --system zabbix
groupadd:“zabbix”组已存在
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
useradd:用户“zabbix”已存在
添加文件夹
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
给zabbix用户授权文件夹权限
chown zabbix:zabbix /usr/lib/zabbix
##安装依赖
yum -y install gcc gcc-c++ unixODBC-devel httpd mysql-devel libcurl libcurl-devel libevent libevent-devel fping curl-devel libxml2 libxml2-devel snmpd net-snmp-devel net-snmp
到官网下载zabbix包,
https://www.zabbix.com/cn/download_sources#62
上传到tmp目录下
查看文件
ls
解压zabbix
tar -zxvf zabbix-6.2.6.tar.gz
进入zabbix目录
cd zabbix-6.2.6/
编译
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
##出现以下表示预编译成功
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
##安装,无任何报错后继续
安装
make install
安装mysql数据库
##查询系统是否已经安装了mysql数据库
rpm -qa | grep mysql
##查询系统是否已经安装了mariadb
rpm -pa | grep mariadb
##查找mysql下载源
找到对应的mysql地址下载
wget https://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm
安装rpm
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
安装mysql
yum install -y mysql-community-server
设置开机自启动
systemctl start mysqld.service && systemctl enable mysqld.service
查看数据库版本
mysql -V
mysqld -V
查找mysql安装时默认密码
grep 'temporary password' /var/log/mysqld.log
更改默认密码
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Start123!';
##初始化数据库, 按提示初始化
mysql_secure_installation
刚才已经修改过密码,初始化时就不再修改密码
删除匿名用户,禁止远程登录,删除测试数据库
##使用新密码登录数据库测试
登录数据库,建zabbix数据库
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'Start123!';
grant all privileges on zabbix.* to zabbix@localhost;
show databases;
use zabbix;
ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Start123!';
source /tmp/zabbix-6.2.6/database/mysql/schema.sql;
source /tmp/zabbix-6.2.6/database/mysql/images.sql;
source /tmp/zabbix-6.2.6/database/mysql/data.sql;
exit;
安装nginx
访问官网下载nginx
wget http://nginx.org/download/nginx-1.22.1.tar.gz
解压nginx
tar -xzvf nginx-1.22.1.tar.gz
进入nginx-1.22.1目录
cd nginx-1.22.1/
编译nginx
./configure --prefix=/usr/local/nginx
make && make install
进入nginx目录
cd /usr/local/nginx/sbin/
启动nginx
./nginx
访问服务器地址查看有welcome to nginx即完成
设置开机启动,进入system目录
cd /lib/systemd/system/
添加nginx.service文件
vim nginx.service
添加以下内容
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存完成
设置开机启动
systemctl enable nginx.service
安装php
yum -y install epel-release yum-utils
访问网站下载php源
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.9.rpm
配置php
yum-config-manager --enable remi-php80
安装php依赖
yum -y install php php-fpm php-json php-gd php-bcmath php-mbstring php-xmlwriter php-xmlreader php-mysqli php-ldap
安装php依赖
yum -y install php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis
vi /etc/php.ini
修改post_max_size=16M
max_execution_time=300
max_input_time=300
##开启相关服务
systemctl start php-fpm && systemctl enable php-fpm
##重启 php
systemctl restart php-fpm
将nginx与php结合
vim /usr/local/nginx/conf/nginx.conf
修改以下内容
location / {
root html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重新加载nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
创建测试文件
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
浏览器访问http://服务器IP/index.php
出现php页面,说明正常
修改zabbix_server.conf配置文件中DBPassword的值为zabbix数据库的密码
find / -name zabbix_server.conf
修改zabbix配置中数据库密码
vi /usr/local/etc/zabbix_server.conf
DBPassword=Start123!
跳到sbin目录,启动zabbix_server和zabbix_agentd
cd /usr/local/sbin/
./zabbix_server
./zabbix_agentd
创建文件夹
mkdir -p /usr/local/nginx/html/zabbix
复制zabbix到nginx下新建的zabbix目录
cp -r /tmp/zabbix-6.2.6/ui/* /usr/local/nginx/html/zabbix/
授权
chmod 777 /usr/local/nginx/html/zabbix/conf
访问
http://服务器地址/zabbix/setup.php
出现zabbix页面,进行初始化
初始化完成后,使用默认用户名Admin 默认密码zabbix登录
重启服务器后, 需要启动zabbix_server和zabbix_agent服务
进入 /usr/local/sbin/目录
./zabbix_server
./zabbix_agentd