lnmp部署zabbix

需求说明

在三台不同的主机上搭建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配置里面的第三步即可

猜你喜欢

转载自blog.csdn.net/weixin_43154788/article/details/83338916