基于rhel7.2的Zabbix平台搭建和部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于rhel7.2的Zabbix平台搭建和部署相关的知识,希望对你有一定的参考价值。

基于rhel7.2的zabbix平台搭建和部署(一)


一、实验环境:

(1)虚拟机:rhel7.2 x86_64

(2)数据库:mysql5.7.13

(3)nginx1.10.2

(4)php5.6.27

(5)zabbix

二、安装编译工具及库文件

[[email protected] ~]# yum-y install make apr* autoconf automake curl-devel gcc gcc-c++  openssl openssl-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* libtool* libxml2 libxml2-devel patch libcurl-devel bzip2-devel freetype-devel

三、安装mysql5.7.13

(1)安装具体步骤,请参考我的博文:http://wutengfei.blog.51cto.com/10942117/1931482

(2)mysql安装完毕后,看一下mysql的服务

[[email protected] ~]# ps -ef |grep mysql

技术分享

[[email protected] ~]# netstat -lnp |grep mysql

技术分享

(3)防火墙开启3306端口例外

[[email protected] ~]# firewall-cmd --permanent --add-port=3306/tcp

success

[[email protected] ~]# firewall-cmd --reload

success

技术分享

(4)数据库密码:123456

四、安装nginx1.10.2

(1)解压zlib和pcre

[[email protected] src]# tar -zxvf zlib-1.2.8.tar.gz

[[email protected] src]# tar -zxvf pcre-8.39.tar.gz

说明:不需要编译,只需要解压就行。

(2)创建组账户和用户账户

[[email protected] ~]# groupadd www

[[email protected] ~]# useradd -g www -s /sbin/nologin www

[[email protected] ~]# grep www /etc/passwd

www:x:1000:1000::/home/www:/sbin/nologin

(3)下载安装nginx

[[email protected] src]# tar -zxvf nginx-1.10.3.tar.gz

[[email protected] src]# cd nginx-1.10.3

[[email protected] nginx-1.10.3]# ./configure --prefix=/usr/local/nginx1.10 --with-http_dav_module --with-http_stub_status_module  --with-http_addition_module --with-http_sub_module  --with-http_flv_module  --with-http_mp4_module --with-pcre=/usr/src/pcre-8.39 --with-zlib=/usr/src/zlib-1.2.8  --with-http_ssl_module --with-http_gzip_static_module --user=www  --group=www && make && make install

(4)做软链接

[[email protected] nginx-1.10.3]# ln -s /usr/local/nginx1.10/sbin/nginx  /usr/local/sbin/

(5)nginx语法检查

[[email protected] nginx-1.10.3]# nginx -t

技术分享

(6)启动nginx并查看服务

[[email protected] nginx-1.10.3]# netstat -lnp |grep nginx

技术分享

(7)防火墙开启80端口例外

[[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp

success

[[email protected] ~]# firewall-cmd --reload

success

技术分享

(8)在一台客户端访问测试

技术分享

五、安装php5.6.27

(1)安装libmcrypt

[[email protected] src]# tar -zxvf libmcrypt-2.5.7.tar.gz

[[email protected] src]# cd libmcrypt-2.5.7

[[email protected] libmcrypt-2.5.7]# ./configure && make && make install

(2)做软链接

[[email protected] ~]# ln -s  /usr/local/mysql/lib/libmysqlclient.so.20.3.0 /usr/local/mysql/lib/libmysqlclient_r.so

(3)安装php

[[email protected] src]# tar -zxvf php-5.6.27.tar.gz

[[email protected] src]# cd php-5.6.27

[[email protected] php-5.6.27]# ./configure --prefix=/usr/local/php5.6  --with-config-file-path=/etc  --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/usr/local/mysql/mysql.sock --with-gd --with-iconv --with-libxml-dir=/usr --with-mhash --with-mcrypt --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib --with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt--with-curl && make && make install

(4)拷贝样例配置文件并修改

[[email protected] php-5.6.27]# cp php.ini-production  /etc/php.ini

[[email protected] php-5.6.27]# vim /etc/php.ini

在/etc/php.ini配置文件中修改如下内容:

技术分享 //设置时区


技术分享//禁止显示php版本的信息


技术分享//支持php短标签


技术分享//上传文件大小

技术分享//php脚本最大执行时间

技术分享

//以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制


技术分享

技术分享

(5)创建php-fpm服务启动脚本

[[email protected] php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[[email protected] php-5.6.27]# chmod +x /etc/init.d/php-fpm

[[email protected] php-5.6.27]# chkconfig --add php-fpm

[[email protected] php-5.6.27]# chkconfig php-fpm on

[[email protected] php-5.6.27]# chkconfig --list |grep php


Note: This output shows SysV services only and does not include native

      systemd services. SysV configuration data might be overridden by native

      systemd configuration.


      If you want to list systemd services use ‘systemctl list-unit-files‘.

      To see services enabled on particular target use

      ‘systemctl list-dependencies [target]‘.

php-fpm         0:off   1:off   2:on    3:on    4:on    5:on    6:off

技术分享

(6)提供php-fpm配置文件并编辑

[[email protected] php-5.6.27]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf

[[email protected] php-5.6.27]# vim /usr/local/php5.6/etc/php-fpm.conf

在配置文件中修改如下内容:

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

(7)启动php-fpm服务并查看

[[email protected] ~]# service php-fpm start

Starting php-fpm  done

[[email protected] ~]# netstat -lnp |grep php-fpm

tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      3203/php-fpm: maste

技术分享

六、配置nginx支持php

[[email protected] ~]# vim /usr/local/nginx1.10/conf/nginx.conf

user  www www;

worker_processes  4;


#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;


    #log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘

    #                  ‘$status $body_bytes_sent "$http_referer" ‘

    #                  ‘"$http_user_agent" "$http_x_forwarded_for"‘;


    #access_log  logs/access.log  main;


    sendfile        on;

    #tcp_nopush     on;


    #keepalive_timeout  0;

    keepalive_timeout  65;


    #gzip  on;


    server {

        listen       80;

        server_name  localhost;


        charset utf-8;


        #access_log  logs/host.access.log  main;


        location / {

            root   html;

            index  index.php index.html index.htm;

        }


        #error_page  404              /404.html;


        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

 error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

        location /ststus {

        stub_status on;

        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}


        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        location ~ \.php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

            include        fastcgi.conf;

        }


        # deny access to .htaccess files, if Apache‘s document root

        # concurs with nginx‘s one

        #

        #location ~ /\.ht {

        #    deny  all;

        #}

    }



    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen       8000;

    #    listen       somename:8080;

    #    server_name  somename  alias  another.alias;


    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}



    # HTTPS server

    #

    #server {

 #    listen       443 ssl;

    #    server_name  localhost;


    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;


    #    ssl_session_cache    shared:SSL:1m;

    #    ssl_session_timeout  5m;


    #    ssl_ciphers  HIGH:!aNULL:!MD5;

    #    ssl_prefer_server_ciphers  on;


    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

}

[[email protected] ~]# nginx -t

nginx: the configuration file /usr/local/nginx1.10/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx1.10/conf/nginx.conf test is successful

技术分享

[[email protected] ~]# nginx

[[email protected] ~]# netstat -lnp |grep nginx

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3302/nginx: master

技术分享

七、测试LNMP

(1)进入nginx默认的网页根目录,创建test.php的测试页:

[[email protected] ~]# vim /usr/local/nginx1.10/html/test1.php

<?php

    echo "PHP解析正常";

?>

[[email protected] ~]# vim /usr/local/nginx1.10/html/test2.php

<?php

$link=mysql_connect(‘localhost‘,‘root‘,‘123456‘);

if($link) echo "ok";

mysql_close();

?>

(2)在客户端上测试

有两种方法:

方法一:使用curl命令

[[email protected] ~]# curl localhost/test1.php

PHP解析正常

[[email protected] ~]# curl localhost/test2.php

ok

方法二:使用浏览器

技术分享

技术分享

以上就是LNMP部署过程!


本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1931869

以上是关于基于rhel7.2的Zabbix平台搭建和部署的主要内容,如果未能解决你的问题,请参考以下文章

基于rhel7.2的Zabbix平台搭建和部署

基于rhel7.2的Zabbix平台搭建和部署

基于rhel7.2的Zabbix平台搭建和部署

Linux中详细搭建监控服务zabbix部署

Zabbix运维监控平台快速搭建实录

saltstack一键部署zabbix监控平台