LNMP环境搭建zabbix监控平台

安装之前,先建几个目录:
   mkdir tools
   mkdir /usr/local/mysql
   mkdir /usr/local/mysql/data
   mkdri /usr/local/zabbix
   mkdir /usr/local/zabbix
   mkdir /usr/local/php
第一:安装Nginx'
1、安装依赖包:
   yum -y install gcc automake autoconf libtool make
   yum -y install gcc gcc-c++
   yum install -y zlib-devel
   yum -y install pcre-devel
   yum  -y install openssl openssl-deve
   tools目录有PCRE库:
   tar -zxvf pcre-8.37.tar.gz
   cd /root/tools/pcre-8.34
   ./configure
   make && make install
   安装zlib库:
   tools目录有zlib库:
   tar -zxvf zlib-1.2.11.tar.gz    
   cd /root/tools/zlib-1.2.11
   ./configure
   make && make install
   安装ssl
   tools目录有ssl库:
   tar -zxvf openssl-1.0.1t.tar.gz   ##先仅仅解压就可以了,不用./configure,下一步会有
   安装Nginx源码包:
   tools目录有nginx包:
   tar -zxvf nginx.1.11.2.tar.gz
   cd /root/tools/nginx.1.11.2
 ./configure--sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/root/tools/pcre-8.40 --with-zlib=/root/tools/zlib-1.2.11 --with-openssl=/root/tools/openssl-1.1.0e --with-http_stub_status_module
   make && make install
   cd /usr/local/nginx/   
   cd conf
   vim nginx.conf
   加入:server {         
        listen       11099;
        server_name localhost;
        access_log  /usr/local/zabbix/log/php.access.log;
        index index.html index.php index.html;
        root /usr/local/zabbix/php;

        location /
        {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ ^(.+.php)(.*)$ {
                fastcgi_split_path_info ^(.+.php)(.*)$;
                include fastcgi.conf;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param  PATH_INFO          $fastcgi_path_info;(这一行改为:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;详情参见                                                   http://www.jb51.net/article/47916.htm)
       }
    保存退出。
    防火墙设置:
    vi /etc/sysconfig/iptables
    在端口22哪一行下面加入如下行:下面几行包括nginx 坚挺端口11099 ,mysql 3306,zabbix_server 10051  zabbix_agent 10050

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 11099 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
    然后保存退出,重启防火墙:/etc/init.d/iptables restart   或service iptables restart
    创建zabbix log目录:mkdir /usr/local/zabbix/log
    启动Nginx:
    /usr/local/nginx/sbin/nginx 
    ps -aux |grep nginx
    /usr/local/nginx/sbin/nginx 
    ps -aux |grep nginx
    测试nginx成功没:浏览器输入:http://192.168.1.242   (http://nginx所在Ip)
    到这里,nginx成功安装!!!!
 ###########################################################################################
 第二:安装mysql 
      1、/root/tools/目录下上传mysql-5.7.17.tar.gz 和boost_1_59_0.tar.gz
      解压:tar -zxvf mysql-5.7.17.tar.gz
      cd mysql-5.7.17
      安装其他依赖包: yum install gcc gcc-c++ -y ncurses-devel cmake libaio bison
      cd tools
      mkdir /usr/local/boost
      把boost_1_59_0.tar.gz 解压到目录/usr/local/boost : tar zxf boost_1_59_0.tar.gz -C /usr/local/boo
      cd tools
      groupadd mysql
      useradd mysql -s /sbin/nologin -M -g mysql 
      cd mysql-5.7.17
      cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/usr/local/mysql/data  -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=ON -DMYSQL_TCP_PORT=3316 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
      make && make install
      期间要等待很长一段时间,慢慢等么么么哒!!!1%#################################100%
      完成后:
      chown -R mysql:mysql .
      chown -R root:root .
      chown -R mysql:mysql mysql
      进到Mysql目录:cd /usr/local/mysql/bin/mysql 
      建立软连接: ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
      执行以下命令生成随机密码:并记下他,待会登陆数据库是要用
      ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
      在执行一下这句话,我也不明白其意思:  ./bin/mysql_ssl_rsa_setup  --datadir=/usr/local/mysql/data/
      cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf  然后按y覆盖
      编辑my.cnf,设置port=3306
      cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld  然后按y覆盖
      启动mysql:/etc/init.d/mysqld start   或  service mysqld start
      启动后登陆Mysql:  mysql -u root -p 回车,在输入刚才记录的随机密码进入数据库
      然后执行:SET PASSWORD = PASSWORD('123456'),在执行:grant all privileges on *.* to 'root'@'%'identified by '123456' with grant option  :%的意思是可以任何地方远程连接
      flush privileges;   
      到此mysql安装完成。
#########################################################################################################

      安装PHP:确保tools目录有:php-5.5.3.tar.gz  bzip2-1.0.6.tar.gz  curl-7.54.1.tar.gz
      解压三个包:tar -zxvf (三个包)
      第一步:yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y
              yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y
                     
              yum -y install libxml2*
              cd 到bzip解压目录并编译安装:cd bzip2-1.0.6   make && make install
              cd 到curl解压目录并编译安装: cd curl-7.54.1   ./configure   make && make install
              cd 到php解压目录便宜并安装: cd php-5.5.38
                                           ./configure  --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
                                           上一行的local下的php目录是之前建好的。
                                            make && make install
                                            等很久一会。安装完成。
             在Php解压目录就是php-5.5.38下面有一个php.ini-development ,把他cp到:php.ini-development /etc/php.ini
             vi php.ini,修改一下内容,但是一下修改的并非是死得,根据实际情况可以做相应的调整
             你需要在你的php.ini文件中添加zend_extension=opcache.so 。还要将opcache.enable=0这行,改为opcache.enable=1 

            date.timezone = Asia/Shanghai
            max_execution_time = 300
            post_max_size  = 32M
            max_input_time = 300
            memory_limit = 300M
            mbstring.func_overload = 1

             在安装目录有个:/usr/local/php/etc/php-fpm.conf.default, 把他在当前目录下重命名为php-fpm.conf,
             即:cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf   否则无法启动php
             在php解压目录有个: /root/tools/php-5.5.38/sapi/fpm/init.d.php-fpm,把他cp到:cp /root/tools/php-5.5.38/sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm
             vim /usr/local/php5.5.38/etc/php-fpm.conf,找到 ;pid = run/php-fpm.pid,把前面的分号注释去掉。
             上一行具体参见:http://www.cnblogs.com/GaZeon/p/5421906.html
             chmod +x /etc/init.d/php-fpm
             ###这种启动方式不推荐启动php:service php-fpm start 
             PHP 启动:/usr/local/php/sbin/php-fpm -c /etc/php.ini -y /usr/local/php/etc/php-fpm.conf    注意这里面的php5.5.38是自己之前mkdir自定义的,所以跟你的又肯能不一样,通常是php
             php停止:Killall php-fpm  详细停止启动PHP请参考:http://www.cnblogs.com/GaZeon/p/5421906.html
             lsof -i :9000

    ###################################################################################################################################
    安装zabbix:
     之前已经建好zabbix目录:mkdir /usr/local/zabbix
     解压zabbix包:tar -zxvf zabbix-3.2.6.tar.gz
     cd  zabbix-3.2.6
     
     yum install -y net-snmp-devel
     groupadd zabbix    useradd -g zabbix -s /sbin/nologin zabbix
     ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy \--with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl
     make && make install
     cd usr/local/zabbix
     chown -R zabbix:zabbix .
     cd 到zabbix解压目录,具体指:/root/tools/zabbix-3.2.6/database/mysql下,里面有三个sql文件schema.sql images.sql data.sql需要导入到mysql数据库名为zabbix里面:具体操作如下:
     cd /root/tools/zabbix-3.2.6/database/mysql 
     ll
     再打开另一个终端:(把zabbix数据库文件导入到mysql具体操作也可以参考网站:http://www.linuxidc.com/Linux/2016-06/132243.htm)
     确保MYSQL运行正常,
     mysql -u root -p
     输入密码
     登入,创建数据库和用户授权:
     create database zabbix character set utf8
     grant all privileges on zabbix.* to zabbix@'%' identified by'123456'
     flush privileges
     exit
     用新建的zabbix用户登陆MYSQL:
     mysql -u zabbix -p
     输入密码:123456
     use zabbix;
     导入:schema.sql images.sql data.sql,这三个文件具体在解压过后的zabbix目录:/root/tools/zabbix-3.2.6/database/mysql   请根据自己的实际情况做稍微的调整
     source /root/tools/zabbix-3.2.6/database/mysql/schema.sql;
     source /root/tools/zabbix-3.2.6/database/mysql/images.sql;
     source /root/tools/zabbix-3.2.6/database/mysql/data.sql;
     show tables; 一共127个表
     exit
     很重要的一部:把zabbix解压目录中的frontends里的PHP目录复制到你zabbix安装目录下:
     ***********cd /root/zabbix-3.2.6/frontends/里面有个php目录,把他复制到usr/local/zabbix/下面:cp -r /root/tools/zabbix-3.2.6/frontends/php  /usr/local/zabbix/}
     
     chown -R zabbix:zabbix .    这句不能成功执行了
     cd到zabbix安装目录:cd /usr/local/zabbix/etc/
     ls -l,  会发现一下文件:
     -rw-r--r--. 1 root root 10242 Jul  6 03:43 zabbix_agentd.conf
     drwxr-xr-x. 2 root root  4096 Jul  6 02:53 zabbix_agentd.conf.d
     -rw-r--r--. 1 root root 15760 Jul  6 02:53 zabbix_proxy.conf
      drwxr-xr-x. 2 root root  4096 Jul  6 02:53 zabbix_proxy.conf.d
     -rw-r--r--. 1 root root 14665 Jul  6 03:11 zabbix_server.conf
     drwxr-xr-x. 2 root root  4096 Jul  6 02:53 zabbix_server.conf.d
     vim里面的zabbix_server.conf,
     需要配置:
     DBName=zabbix
     DBUser=zabbix
     DBPassword=123456
     DBPort=3306   ##这个端口可以不写,因为zabbix默认是mysql的3306
     ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64
     启动zabbix_server:   /usr/local/zabbix/sbin/zabbix_server
     因为我们想通过zabbix监控自己本身,所以在这里进行配置:
     在zabbix安装目录:cd /usr/local/zabbix/etc/下有:zabbix_agentd.conf
     编辑它:
     Server=192.168.1.242 ← ZABBIX服务器的IP地址
     ServerActive=192.168.1.242
     hostname=Zabbix server   ← ZABBIX agentd的host名字,因为我们zabbix_server服务器同时要监控自己,所以这里要写成当前服务器主机的hostname
     保存退出
     启动zabbix_agentd:/usr/local/zabbix/sbin/zabbix_agentd
     lsof -i :10050  lsof -i :10051
     zabbix安装完成
     #################################################
     在浏览器输入:http://192.168.1.242:11099    11099是在nginx.conf里配置的serverlisten 端口。。
     即可看到zabix配置页面。。。
     ########################################################################################################
     zabbix登陆界面默认账号:Admin   密码:zabbix   
     #####################################################################################################
     解决zabbix中文乱码问题:http://zutianbiao.blog.51cto.com/1361296/1364535/     按照文档的操作步骤,zabbix的字体文件在/usr/local/zabbix/php/fonts目录,其中的php目录是本文档中安装zabbix步骤中前面加了*号的那一步。


      
     


   
 

你可能感兴趣的:(linux)