mwjhw216 发表于 2019-1-22 13:42:49

zabbix + lnmp: 终结版

  zabbix + lnmp: 终结版
  ############################
  ############################
  第一种安装,我采用的【成功】:
  ############################
  1、需要的组件:
  zabbix-3.0.3.tar.gz   http://www.zabbix.com/download.php官网下载页面
  http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz/download下载链接
  nginx-1.10.1.tar.gzhttp://nginx.org/en/download.html 官网下载页面
  http://nginx.org/download/nginx-1.10.1.tar.gz下载链接
  php-5.6.22.tar.gzhttp://php.net/downloads.php 官网下载页面
  http://php.net/get/php-5.6.22.tar.gz/from/a/mirror下载链接列表
  http://cn2.php.net/get/php-5.6.22.tar.gz/from/this/mirror选择中国站点下载
  2、配置yum仓库
  # cat zabbix.repo
  
  name=CentOS-$releasever - Base
  #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
  baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  enabled=1
  yum clean all# 清除yum缓存
  yum makecache# 生成yum缓存
  3、安装nginx
  #安装依赖包
  yum install pcre pcre-devel openssl openssl-devel gcc-c++-y
  useradd -s /sbin/nologin -M nginx
  tar xf nginx-1.10.1.tar.gz
  ./configure --user=nginx --group=nginx --prefix=/application/nginx-1.10.1 --with-http_stub_status_module --with-http_ssl_module
  make
  make install
  ln -s /application/nginx-1.10.1/ /application/nginx
  /application/nginx/sbin/nginx #start nginx service
  ps -ef|grep nginx
  ss -lntup|grep nginx
  # pwd
  /application/nginx/conf
  egrep -v "#|^$" nginx.conf.default > nginx.conf
  #修改部分配置
  # cat nginx.conf
worker_processes1;  
events {
  
    worker_connections1024;
  
}
  
http {
  
    include       mime.types;
  
    default_typeapplication/octet-stream;
  
    sendfile      on;
  
    keepalive_timeout65;
  
    server {
  
      listen       80;
  
      server_namelocalhost;
  
      location / {
  
            root   html;
  
            indexindex.php index.html index.htm;
  
      }
  
      error_page   500 502 503 504/50x.html;
  
      location = /50x.html {
  
            root   html;
  
      }
  
      location ~\.(php|php5)?$ {
  
            root /application/nginx/html;
  
            fastcgi_pass 127.0.0.1:9000;
  
            fastcgi_index index.php;
  
            fastcgi_param SCRIPT_FILENAME /application/nginx/html$fastcgi_script_name;
  
            include    fastcgi_params;
  
      }
  
    }
  
}
  #杀死进程,重启服务
ps -ef|grep nginx  
/application/nginx/sbin/nginx -t
  
/application/nginx/sbin/nginx
  3、安装php
yum install zlib-devel libxml2-devel libjpeg-devel libiconv-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel mysql-devel    -y  
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
  
tar zxf libiconv-1.14.tar.gz
  
cd libiconv-1.14
  
./configure --prefix=/usr/local/libiconv
  
make && make install
  
echo $?
  #添加epel源
  #https://fedoraproject.org/wiki/EPEL
  #上面这个位置找到对应的系统版本进入
  #centos 6 x86_64 https://dl.fedoraproject.org/pub/epel/6/x86_64/
  #https://dl.fedoraproject.org/pub/epel/   通过这个页面下载对应的epel yum源安装包
  wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
  yum install libmcrypt-devel mhash mcrypt
  开始安装:
tar xf php-5.6.22.tar.gz  
cd php-5.6.22
  
./configure \
  
--prefix=/application/php-5.6.22 \
  
--with-mysql \
  
--with-mysqli=mysqlnd \
  
--with-pdo-mysql=mysqlnd \
  
--with-iconv-dir=/usr/local/libiconv \
  
--with-freetype-dir \
  
--with-jpeg-dir \
  
--with-png-dir \
  
--with-zlib \
  
--with-libxml-dir=/usr \
  
--with-gettext \
  
--enable-xml \
  
--disable-rpath \
  
--enable-bcmath \
  
--enable-shmop \
  
--enable-sysvsem \
  
--enable-inline-optimization \
  
--with-curl \
  
--enable-mbregex \
  
--enable-fpm \
  
--enable-mbstring \
  
--with-mcrypt \
  
--with-gd \
  
--enable-gd-native-ttf \
  
--with-openssl \
  
--with-mhash \
  
--enable-pcntl \
  
--enable-sockets \
  
--with-xmlrpc \
  
--enable-soap \
  
--enable-short-tags \
  
--enable-static \
  
--with-xsl \
  
--with-fpm-user=nginx \
  
--with-fpm-group=nginx \
  
--enable-ftp \
  
--enable-opcache=no
  
make && make install
  
ln -s /application/php-5.6.22/ /application/php
# pwd  
/root/php-5.6.22
  

  
# cp php.ini-production /application/php/lib/php.ini
  
# cd /application/php/etc/
  
# ls
  
pear.confphp-fpm.conf.default
  
# pwd
  
/application/php/etc
  
# cp php-fpm.conf.default php-fpm.conf
  
# /application/php/sbin/php-fpm
  
# netstat -lntup|grep php-fpm
  
tcp      0      0 127.0.0.1:9000            0.0.0.0:*                   LISTEN      3689/php-fpm
  3、开始安装zabbix
tar zxvf zabbix-3.0.3.tar.gz  
cd zabbix-3.0.3
  
groupadd zabbix
  
useradd -g zabbix zabbix
  #安装依赖包,如果一次安装错误,就多试几次
yum install -y net-snmp net-snmp-devel libssh2-devel OpenIPMI-devel  
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-ssh2
  监控jvm:
  #./configure --prefix=/usr/local/zabbix-3.0.0/--enable-agent --enable-java
  ###############
  编译错误处理:
  以下操作可能需要第三方源,参考此进行安装第三方Yum源
  rpm-ivhhttp://ftp.sjtu.edu.cn/fedora/ep ... ease-6-8.noarch.rpm
  configure: error: Jabber library not found
  #yum installiksemel-devel 即可,
  configure: error: LIBXML2 library not found
  #yuminstall libxml2-devel
  configure: error: unixODBC library not found
  #yuminstall unixODBC-devel
  configure: error: Invalid OPENIPMI directory - unable to findipmiif.h
  #yum install OpenIPMI-devel
  configure:error: Unable to find "javac" executable in path
  #yum install java*具体什么包没找,直接通配,生产环境可去掉--enable-java选项
  configure: error: Curl library not found
  # yum install curl-devel
  Make && make install
  iv.安装后配置
  1.修改zabbix_proxy.conf配置文件
vi/usr/local/etc/zabbix_proxy.conf  修改如下行:
  Server=192.168.13.222\\ Server端的地址
  Hostname=Zabbix_proxy\\ 主机名称,在Server设置代理时候必须一致
  DBName=zabbix_proxy\\数据库名称
  DBUser=zabbix_proxy\\数据库用户
  DBPassword=zabbix_proxy123\\数据库密码
  ProxyLocalBuffer=0\\最好设置为0,除非有插件要求。
  ProxyOfflineBuffer=1\\离线缓存记录,设置为1小时
  ConfigFrequency=600\\server和proxy配置修改同步时间间隔,单位秒
  DataSenderFrequency=10\\数据发送时间间隔,单位秒
  StartPollers=10\\开启多线程
  StartPollersUnreachable=1\\该线程用来单独监控无法连接的主机,1个即可
  StartTrappers=10\\trapper线程数
  StartPingers=1\\fping线程数
  CacheSize=64M\\用来保存监控数据的缓存数,根据监控主机数量适当调整
  Timeout=10\\超时时间,单位秒
  TrapperTimeout=30\\Trappe超时时间,单位秒
  LogFile=/var/log/zabbix_proxy.log\\日志位置
  ##################
make && make install  egrep -v "#|^$" /usr/local/etc/zabbix_server.conf
  LogFile=/tmp/zabbix_server.log
  DBHost=192.168.11.5
  DBName=zabbix
  DBUser=zabbix
  DBPassword=zabbix
  ListenIP=0.0.0.0
  Timeout=4
  AlertScriptsPath=${datadir}/zabbix/alertscripts
  LogSlowQueries=3000
  #拷贝启动脚本
  cp misc/init.d/fedora/core/zabbix_* /etc/rc.d/init.d/
  zabbix_server
  #修改配置文件
  vim /application/php/lib/php.ini
  max_execution_time = 300
  max_input_time = 300
  post_max_size = 16M
  always_populate_raw_post_data = -1
  date.timezone = Asia/Shanghai
  #重启php
  # pkill -9 php-fpm
  # /application/php/sbin/php-fpm
  #从zabbix源码包拷贝网站到nginx
  # pwd
  /root/zabbix-3.0.3
  # cp -rf frontends/php /application/nginx/html/zabbix/
  #如果有防火墙,要么开放80端口,要么临时停止
  service iptables stop
  4.mysql 5.6.32的安装。
  # rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  Retrieving http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  Preparing...                ###########################################
  1:mysql-community-release###########################################
  # yum install mysql-server -y
  ......
  Installed:
  mysql-community-libs.x86_64 0:5.6.29-2.el6    mysql-community-libs-compat.x86_64 0:5.6.29-2.el6    mysql-community-server.x86_64 0:5.6.29-2.el6
  Dependency Installed:
  mysql-community-client.x86_64 0:5.6.29-2.el6          mysql-community-common.x86_64 0:5.6.29-2.el6          perl-DBI.x86_64 0:1.609-4.el6
  Dependency Updated:
  postfix.x86_64 2:2.6.6-6.el6_7.1
  Replaced:
  mysql-libs.x86_64 0:5.1.71-1.el6
  Complete!
  修改mysql配置文件. /etc/my.cnf,在中添加innodb_file_per_table=1,并登录数据库,创建zabbix 数据库以及授权zabbix用户。
  # grep -v "^#"/etc/my.cnf | grep -v "^$"
  
  datadir=/var/lib/mysql
  socket=/var/lib/mysql/mysql.sock
  innodb_file_per_table=1
  symbolic-links=0
  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  
  log-error=/var/log/mysqld.log
  pid-file=/var/run/mysqld/mysqld.pid
  # service mysqld start
  lsof -i:3306
  #导入数据库
  mysql -e "create database zabbix character set utf8;"

  mysql-e "grant all privileges on zabbix.* to zabbix@'localhost'>  mysql-e "flush privileges;"
  #注意路径
  mysql -uzabbix -pzabbix zabbix   ---------------------------
  #给目录设置权限
  chown -R nginx.nginx /application/nginx/html/
  打开浏览器,输入以下链接
  http://192.168.11.11/zabbix/setup.php
  ############################
  安装proxy
  ############################
  第二种安装,未成功:
  ############################
  一、安装步骤:
  1.安装epel源:
  # rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
  Retrieving https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

  warning: /var/tmp/rpm-tmp.M3toD5: Header V3 RSA/SHA256 Signature, key>  Preparing...                ###########################################
  1:epel-release         ###########################################
  2.安装php
  # yum install php -y
  3.安装php5.6 源
  # rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
  Retrieving https://mirror.webtatic.com/yum/el6/latest.rpm

  warning: /var/tmp/rpm-tmp.9Dr1A3: Header V4 DSA/SHA1 Signature, key>  Preparing...                ###########################################
  1:webtatic-release       ###########################################
  4.安装yum replace 插件
  # yum install yum-plugin-replace –y
  5.更新php 为php-5.6版本
  # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
  # yum --enablerepo=remi install php php-fpm -y
  # yum replace php-common --replace-with=php56w-common -y
  ......
  ......
  Removed:
  php.x86_64 0:5.4.45-7.el6.remi   php-cli.x86_64 0:5.4.45-7.el6.remi   php-common.x86_64 0:5.4.45-7.el6.remi   php-fpm.x86_64 0:5.4.45-7.el6.remi
  Installed:
  php56w.x86_64 0:5.6.19-1.w6      php56w-cli.x86_64 0:5.6.19-1.w6      php56w-common.x86_64 0:5.6.19-1.w6      php56w-fpm.x86_64 0:5.6.19-1.w6
  Complete!
  检查下php的版本
  # php -v
  PHP 5.6.19 (cli) (built: Mar5 2016 00:06:38)
  Copyright (c) 1997-2016 The PHP Group
  Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
  # php-fpm -v
  PHP 5.6.19 (fpm-fcgi) (built: Mar5 2016 00:09:12)
  Copyright (c) 1997-2016 The PHP Group
  Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
  修改php.ini
  # sed-i 's/;always_populate_raw_post_data = -1/always_populate_raw_post_data = -1/g' /etc/php.ini
  安装libcurl,这里需要注意下,设置dns 为8.8.8.8,修改/etc/resolv.conf. 不然安装会找不到服务器。
  # rpm -ivh http://mirror.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm
  Retrieving http://mirror.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm

  warning: /var/tmp/rpm-tmp.sbmz6D: Header V3 DSA/SHA1 Signature, key>  Preparing...                ###########################################
  1:city-fan.org-release   ###########################################
  # yum install libcurl -y
  ......
  Updated:
  libcurl.x86_64 0:7.48.0-1.0.cf.rhel6
  Dependency Updated:
  curl.x86_64 0:7.48.0-1.0.cf.rhel6                                       libssh2.x86_64 0:1.7.0-5.0.cf.rhel6
  Complete!
  # rpm -e city-fan.org-release
  6.下面是mysql的安装。
  # rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  Retrieving http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  Preparing...                ###########################################
  1:mysql-community-release###########################################
  # yum install mysql-server -y
  ......
  Installed:
  mysql-community-libs.x86_64 0:5.6.29-2.el6    mysql-community-libs-compat.x86_64 0:5.6.29-2.el6    mysql-community-server.x86_64 0:5.6.29-2.el6
  Dependency Installed:
  mysql-community-client.x86_64 0:5.6.29-2.el6          mysql-community-common.x86_64 0:5.6.29-2.el6          perl-DBI.x86_64 0:1.609-4.el6
  Dependency Updated:
  postfix.x86_64 2:2.6.6-6.el6_7.1
  Replaced:
  mysql-libs.x86_64 0:5.1.71-1.el6
  Complete!
  修改mysql配置文件. /etc/my.cnf,在中添加innodb_file_per_table=1,并登录数据库,创建zabbix 数据库以及授权zabbix用户。
  # grep -v "^#"/etc/my.cnf | grep -v "^$"
  
  datadir=/var/lib/mysql
  socket=/var/lib/mysql/mysql.sock
  innodb_file_per_table=1
  symbolic-links=0
  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  
  log-error=/var/log/mysqld.log
  pid-file=/var/run/mysqld/mysqld.pid
  # service mysqld start
  # mysql -uroot -p
  Enter password:
  mysql> create database zabbix character set utf8 collate utf8_bin;

  mysql> grant all privileges on zabbix.* To zabbix@localhost>  #######################################################
  这种方法我就执行到这。
  #######################################################
  7.现在开始安装zabbix-server 软件了。等不及了吧
  # git clone https://github.com/zabbixcn/zabbix3.0-rpm.git
  # pwd
  /root/zabbix3.0-rpm/RPMS
  # ls
  epel-release-6-8.noarch.rpm               zabbix-proxy-mysql-3.0.0-1.el6.x86_64.rpm    zabbix-server-pgsql-3.0.0-1.el6.x86_64.rpm
  remi-release-6.rpm                        zabbix-proxy-pgsql-3.0.0-1.el6.x86_64.rpm    zabbix-web-3.0.0-1.el6.noarch.rpm
  zabbix-agent-3.0.0-1.el6.x86_64.rpm         zabbix-proxy-sqlite3-3.0.0-1.el6.x86_64.rpmzabbix-web-japanese-3.0.0-1.el6.noarch.rpm
  zabbix-get-3.0.0-1.el6.x86_64.rpm         zabbix-sender-3.0.0-1.el6.x86_64.rpm         zabbix-web-mysql-3.0.0-1.el6.noarch.rpm
  zabbix-java-gateway-3.0.0-1.el6.x86_64.rpmzabbix-server-mysql-3.0.0-1.el6.x86_64.rpm   zabbix-web-pgsql-3.0.0-1.el6.noarch.rpm
  # yum install zabbix-server-mysql-3.0.0-1.el6.x86_64.rpm zabbix-web-3.0.0-1.el6.noarch.rpm
  zabbix-web-mysql-3.0.0-1.el6.noarch.rpm httpd php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml -y
  ......
  Installed:
  php56w-bcmath.x86_64 0:5.6.19-1.w6   php56w-gd.x86_64 0:5.6.19-1.w6    php56w-mbstring.x86_64 0:5.6.19-1.w6    php56w-mysql.x86_64 0:5.6.19-1.w6
  php56w-xml.x86_64 0:5.6.19-1.w6      zabbix-web.noarch 0:3.0.0-1.el6   zabbix-web-mysql.noarch 0:3.0.0-1.el6
  Dependency Installed:
  dejavu-fonts-common.noarch 0:2.33-1.el6      dejavu-sans-fonts.noarch 0:2.33-1.el6      fontpackages-filesystem.noarch 0:1.41-1.1.el6
  libXpm.x86_64 0:3.5.10-2.el6                   libxslt.x86_64 0:1.1.26-2.el6_3.1            php56w-ldap.x86_64 0:5.6.19-1.w6
  php56w-pdo.x86_64 0:5.6.19-1.w6                t1lib.x86_64 0:5.1.2-6.el6_2.1
  Complete!
  zabbix-server 也要安装zabbix-agent客户端
  # yum install zabbix-agent-3.0.0-1.el6.x86_64.rpm -y
  修改http的时区
  # sed -i "s@# php_value date.timezone Europe/Riga@php_value date.timezone Asia/Shanghai@g" /etc/httpd/conf.d/zabbix.conf
  初始化zabbix 数据库,建表。文件目录在/usr/share/zabbix-server-mysql-3.0.0
  # pwd
  /usr/share/zabbix-server-mysql-3.0.0
  # ls
  create.sql.gz
  # zcat create.sql.gz | mysql -uzabbix -ptestzabbix zabbix
  Warning: Using a password on the command line interface can be insecure.
  建完后,修改zabbix-server 端的配置,主要改动下面这4处
  # vim /etc/zabbix/zabbix_server.conf
  ......
  DBHost=localhost
  DBName=zabbix
  DBUser=zabbix
  DBPassword=testzabbix
  启动httpd、zabbix-server、zabbix-agent服务
  # /etc/init.d/httpd start
  # /etc/init.d/zabbix-server start
  # /etc/init.d/zabbix-agent start
  ###########################
  报错总结:
  ###########################
  PHP编译安装出错configure: error: mcrypt.h not found. Please reinstall libmcrypt的解决办法:
  1、下载libmcrypt
  wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
  2、解压
  tar -zxvf libmcrypt-2.5.8.tar.gz
  3、配置编译参数
  1 cd libmcrypt-2.5.8
  2 ./configure
  4、编译安装
  make && make install
  5、configure: error: png.h not found.
  # yum install libpng-devel
  6、configure: error: Please reinstall the libcurl distribution -
  yum -y install curl-devel
  7、configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
  yum install libxslt-devel* -y


页: [1]
查看完整版本: zabbix + lnmp: 终结版