需求说明
在三台不同的主机上搭建lnmp环境并安装配置zabbix
环境说明
在三台主机上搭建好lnmp并可以正常运行,如何搭建戳这里----->三台主机搭建lnmp
系统平台 | ip | 需要安装的服务 |
---|---|---|
centos7,redhat7 | 172.16.11.13 | nginx |
centos7,redhat7 | 172.16.11.14 | mysql |
centos7,redhat7 | 172.16.11.15 | php |
①.关闭防火墙
[root@lizihan ~]# systemctl stop firewalld.service
②.关闭selinux
[root@lizihan ~]# setenforce 0
[root@lizihan ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config
③.需要在安装nginx的服务器上下载zabbix源码包
[root@lizihan ~]# ls
[root@lizihan ~]# ls
anaconda-ks.cfg nginx-1.14.0 nginx-1.14.0.tar.gz zabbix-4.0.0 zabbix-4.0.0.tar.gz
zabbix下载
操作步骤
- 172.16.11.14
配置zabbix数据库
[root@lizihan ~]# mysql -uroot -p
Enter password:
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.07 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix123!';
Query OK, 0 rows affected, 2 warnings (0.13 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.09 sec)
- 172.16.11.13
①.安装依赖包和mariadb包
[root@lizihan ~]# yum -y install net-snmp-devel libevent-devel mariadb mysql-devel libcurl-devel libxml2-devel
②.下载zabbix 的源码包并解压,创建zabbix用户
[root@lizihan ~]# tar -xf zabbix-3.4.12.tar.gz
[root@lizihan ~]# groupadd -r zabbix
[root@lizihan ~]# useradd -r -M -s /sbin/nologin -g zabbix zabbix
③.往zabbix数据库导入文件
[root@lizihan ~]# cd zabbix-3.4.12/database/mysql/
[root@lizihan mysql]# ls
data.sql images.sql schema.sql
[root@lizihan mysql]# mysql -h 172.16.11.14 -uzabbix -pzabbix123! zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure
[root@lizihan mysql]# mysql -h 172.16.11.14 -uzabbix -pzabbix123! zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lizihan mysql]# mysql -h 172.16.11.14 -uzabbix -pzabbix123! zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure
④.编译安装zabbix
[root@lizihan zabbix-3.4.12]# ./configure --enable-server \
> --enable-agent \
> --with-mysql \
> --with-net-snmp \
> --with-libcurl \
> --with-libxml2
[root@lizihan zabbix-3.4.12]# make install
⑤.修改服务端配置文件,添加如下内容,并启动服务
[root@lizihan ~]# vim /usr/local/etc/zabbix_server.conf
DBPassword=zabbix123!
[root@lizihan ~]# zabbix_server
[root@lizihan ~]# zabbix_agentd
⑥.修改配置文件创建网页
[root@lizihan ~]# vim /usr/local/nginx/conf/nginx.conf
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 8000;
server_name www.haha.com;
location / {
root /www/aaa;
index index.php index.html;
}
location ~ \.php$ {
root /www/aaa;
fastcgi_pass 172.16.11.15:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/abc$fastcgi_script_name;
include fastcgi_params;
}
}
}
- 172.16.11.15
①.配置php
[root@lizihan ~]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@lizihan ~]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@lizihan ~]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@lizihan ~]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
②.创建存放网页文件的目录
[root@lizihan ~]# mkdir /www/abc/ -p
[root@lizihan ~]# groupadd -r nginx //这里nginx用户的uid和pid要和nginx客户端里面的nginx的相同
[root@lizihan ~]# useradd -r -s /sbin/nologin -M -g nginx nginx
[root@lizihan ~]# chown -R nginx.nginx /www/
③.使用phpize命令生成configura然后添加模块,最后修改配置文件加入如下内容
[root@lizihan mysqli]# yum -y install php-mysqlnd
[root@lizihan ~]# cd /root/php-7.2.8/ext/mysqli/
[root@lizihan mysqli]# phpize
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
[root@lizihan mysqli]# ./configure --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
[root@lizihan mysqli]# make && make install
[root@lizihan mysqli]# vim /etc/php.ini
extension=mysqli.so //添加这一行
④.安装nfs并配置
[root@lizihan mysqli]# yum -y install nfs-utils
[root@lizihan mysqli]# vim /etc/exports
/www/abc 172.16.11.13(rw,no_root_squash) //添加共享的目录
[root@lizihan mysqli]# systemctl start nfs-server
- 172.16.11.13
①.挂载nfs服务器
[root@lizihan nginx]# mount -t nfs 172.16.11.15:/www/abc /www/aaa/
[root@lizihan nginx]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 17G 1.9G 16G 11% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.7M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 125M 890M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 3.8G 3.8G 0 100% /mnt
172.16.11.15:/www/abc 17G 2.2G 15G 13% /www/aaa
②.将zabbix的php网页拷贝到挂载的目录里面去
[root@lizihan nginx]# cp -r /root/zabbix-4.0.0/frontends/php/* /www/aaa/
③.修改目录权限来使其有权限生成配置文件
[root@lizihan nginx]# chmod 777 /www/aaa/conf/
安装配置zabbix
到这里就配置完成可以测试了,我就放测试图了,想看如何配置请看上篇文档
报错解决
①.使用phpize的时候报错
[root@lizihan mysqli]# phpize
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
解决办法:安装autoconf,直接使用 yum -y install autoconf
②.配置zabbix的时候发现 PHP databases support off
解决办法:查看上面172.16.11.15配置里面的第三步即可