LNMP下zabbix_server安装部署一

server:192.168.112.6 agent:192.168.112.7

  • 安装nginx编译依赖包 gcc、pcre-devel、zlib-devel 如果需要https则加上openssl-devel。

    yum install -y gcc pcre-devel zlib-devel openssl-devel
    
  • 下载使用最新稳定版本nginx1.16.1。

    wget http://nginx.org/download/nginx-1.16.1.tar.gz
    
  • 对下载好的nginx进行解压,并进行配置编译安装并启用ssl加密模块。

    tar -xf nginx-1.16.1.tar.gz && cd nginx-1.16.1 && ./configure --with-http_ssl_module && make && make install
    
  • 下载安装PHP并使用mariadb数据库,并将php-fpm、mariadb设置为开机启动。

    yum install -y php php-mysql php-gd php-xml libxml2-devel php-bcmath php-mbstring  php-fpm mariadb-server && systemctl enable mariadb php-fpm
    
  • 修改nginx 65-70行配置支持php。

    vim /usr/local/nginx/conf/nginx.conf
    
            location ~ \.php$ {
                root           html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                include        fastcgi.conf;
            }
    
  • 检查配置文件是否正确并拷贝到/usr/sbin下。

    /usr/local/nginx/sbin/nginx -t && cp /usr/local/nginx/sbin/nginx /usr/sbin/
    
  • 启动php-fpm和mariadb并查看启动状态。

    systemctl start php-fpm mariadb && systemctl status php-fpm mariadb
    
  • 自己编辑一个php文件测试下是否运行正常。

    rm -rf /usr/local/nginx/html/index/html && vim /usr/local/nginx/html/index.php
    
    <?php
    phpinfo();
    ?>
    
  • 启动nginx进行测试。

    nginx && curl localhost/index.php
    
  • 删掉该测试文件。

    rm -rf /usr/local/nginx/html/index.php
    
  • 从官网下载最新的zabbix4.4源码包。

    wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.4.0/zabbix-4.4.0.tar.gz
    
  • 安装编译依赖包,如果有使用snmp协议监控其他设备请安装net-snmp-devel。

    yum install -y net-snmp-devel curl-devel libevent-devel
    
  • 解压zabbix安装包。

    tar -xf zabbix-4.4.0.tar.gz && cd zabbix-4.4.0
    
  • 配置参数这边使用server+agent的方式。

    ./configure --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
    
    #编译过程中提示configure: error: MySQL library not found
    #缺少mysql的库文件我安装的是mariadb,应该安装mariadb-devel
    yum install -y mariadb-devel
    #再次执行配置编译
    ./configure --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
    
    ***********************************************************
    *            Now run 'make install'                       *
    *                                                         *
    *            Thank you for using Zabbix!                  *
    *              <http://www.zabbix.com>                    *
    ***********************************************************
    
  • 没有问题了,提示现在运行make install 。

    make install 
    
  • 安装完成后其默认配置文件在/usr/local/etc 下,server和agent程序在/usr/local/sbin下,其他工具在/usr/local/bin下。

  • 创建数据库,并导入其中。

    mysql -e "create database zabbix charset utf8;"
    
  • 创建zabbix账户。

    mysql -e "grant all on zabbix.* to zabbix@'localhost' identified by 'lqinghua';"
    
  • 进入zabbix源码包中,导入数据库。要注意先导表结构再导图片再导数据。

    cd /root/zabbix-4.4.0/database/mysql
    mysql zabbix < schema.sql
    mysql zabbix < images.sql
    mysql zabbix < data.sql
    
  • 将zabbix的php网页文件拷贝到nginx的网页目录中,并删除默认页面。

    cp -a /root/zabbix-4.4.0/frontends/php/*  /usr/local/nginx/html && rm -rf /usr/local/nginx/html/index.html
    

  • 这里可以看到主页面但是这个不满足zabbix的php设置条件,现在通过修改/etc/php.ini 或者修改nginx配置文件来满足他的要求。

    vim /usr/local/nginx/conf/nginx.conf
    
    http {
    	...
        fastcgi_buffers 8 16k;             #缓存php生成的页面内容,8个16k
        fastcgi_buffer_size 32k;           #缓存php生产的头部信息
        fastcgi_connect_timeout 300;       #连接PHP的超时时间
        fastcgi_send_timeout 300;          #发送请求的超时时间
        fastcgi_read_timeout 300;          #读取请求的超时时间
    	...
    }
    
    vim /etc/php.ini
    ....
    date.timezone = Asia/Shanghai  #设置时区
    max_execution_time = 300       #最大执行时间,秒
    post_max_size = 32M            #POST数据最大容量
    max_input_time = 300           #服务器接收数据的时间限制
    memory_limit = 128M            #内存容量限制
    ...
    
  • 修改后重启php-fpm 和nginx。

    systemctl restart php-fpm && nginx -s reload
    
  • 如果没有用缺少依赖包就是OK。

  • 填写数据库账号密码。

  • 报错了不能创建配置文件。

  • 有三个解决方法一个是给html下的文件执行权限,另外一个就是下载这个配置文件到nginx下的html中的zabbix项目中的conf下,三就是直接修改conf文件夹中的zabbix.conf.php.example,那么我选择下载后上传到conf目录。

  • 好的就看到登录页面了,默认用户Admin 密码zabbix

  • 登陆进去。

这里就完成了server的安装。

posted @ 2019-10-30 19:25  不愿透露姓名的先生  阅读(195)  评论(0编辑  收藏  举报