设为首页 收藏本站
查看: 783|回复: 0

[经验分享] zabbix编译环境安装

[复制链接]

尚未签到

发表于 2019-1-18 06:48:16 | 显示全部楼层 |阅读模式
  简易拓扑:

  相关系统版本等内容:详见《zabbix操作系统及软件版本》
  ,编译安装apache
  请安照编译方式进行安装-à如下↓
  apache 安装实战指南
  #rpm -e --nodeps httpd*
  #卸载已安装的http rpm安装包。如果是使用yum安装的,可以#yum -y remove httpd*来进行卸载。
   -e 等同于 --erase表示移除意思。
  -- nodeps英文解释don't do a dependencycheck .意思是不做软件间的依赖检查。
  一,开始安装apache
  [root@apache]#mkdir -p /home/oldboy/tools
  #建立一个软件下载目录。
  [root@apache]#cd /home/oldboy/tools
  [root@apache]# wget http://apache.fayea.com/apache-mirror/httpd/httpd-2.2.23.tar.gz
  #可进官网去下载,http://www.apache.org
  http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.25.tar.gz
  [root@apache]#yum install zlib-devel -y
  #需要安装zlib函数库。
  [root@apache]#./configure \
  --prefix=/application/apache2.2.23\
  --enable-deflate \
  --enable-expires \
  --enable-headers \
  --enable-modules=most \
  --enable-so \
  --with-mpm=worker \
  --enable-rewrite
  

  #./configure后的参数说明:
  #1.--prefix=/application/apache2.2.22表示指定apache安装路径为/application/apache2.2.22.如果不指定会安装在默认安装路径,默认安装路径为[/usr/local/apache2]
  #2.--enable-deflate提供对内容的压缩传输编码支持,一般html,js,css等内容的站点,使用此参数功能会大大提高传输速冻,提升访问者的访问体验。再生产环境中,这是apache调优的一个重要选项之一。
  #3.--enable-expires激活允许通过配置文件控制HTTP的“Expires:”和“Cache-Control:”头内容,即对网站图片,js,css等内容,提供在客户端浏览器缓存的设置,这apache调优的一个重要选项之一。
  #4.--enable-headers提供允许对HTTP请求头的控制。
  #5--with-mpm=worker选择apache mpm的模式为worker模式,因worker模式原理是更多的使用线程来处理请求,所以可以处理更多的并发请求,而系统资源的开销小于基于进程的mpm prefork。如果不指定此参数,默认的模式是prefork进程模式。这是apache调优的一个重要选项之一。
  #6.--enable-rewrite 提供基于URL规则的重写功能,即根据已知URL地址,转换其它想要的URL地址。如前文讲解的伪静态功能就是这个模块实现的。这是apache在生产环境中必用的一个重要功能。
  #7.--enable-so 激活apache服务的DSO支持,即在以后可以使用DSO的方式编译安装共享模块,这个模块本身不能以DSO方式编译。
  

  [root@apache]#make
  [root@apache]#make install
  

  [root@apache]#ln -s /application/apache2.2.22 /application/apache
  #重要步骤
  [root@apache]#/application/apache2.2.22/bin/apachectl  - l #查看安装后的模块。检查编译的情况。
  

  二,apache启动检查和错误排查
  [root@apache]# application/apache/bin/apachectl start
  #启动apache服务。
  [root@apache]#netstart -lnt #查看服务端口信息。
  [root@apache]#lsof -i tcp:80 #检查端口对应的服务名称。
  [root@apache]#ps -ef|grep http #查看服务进程。
  如果不出现it works 的内容页面,请从下面原因一次排除。
  1.iptables防火墙和selinux是否关闭。
  1.#/etc/init.d/iptales stop
  #这是关闭防火墙的命令。
  如果在生产环境中,需要更改iptables文件,允许80端口访问
  命令如下:
  #iptables -I INPUT -p tcp --dport 80 -j ACCEPT
  #添加允许条目到iptables文件中去。
  #/etc/init.d/iptables status
  #查看防火墙启用状态。
  2.关闭selinux
  #setenforce 0 #这是临时关闭方法。
  #vi /etc/selinux/config #更改selinux配置文件,将SELINUX=disabled 这是永久关闭方法。
  2.通过命令查看httpd端口80是否存在:
  #netstat -lnt |grep 80
  3.查看是否有http进程存在。
  #ps -ef|grep http
  4.在服务器本地wget http://服务器地址测试
  5.查看apache的错误日志看看是否有特殊异常。
  #tail -100 /application/apache/logs/erro_log
  

  ,编译安装mysql
  编译安装完成后,初始化时将数据库放置在/data下。à如下↓
  lamp系列之-MYSQL单实例的安装配置
  mysql 开源领域的关系型数据库产品。
  社区GA版本为环境使用版本。
  存储引擎:常用 myisam 和 innodb引擎。
  mysql5.0 -5.1 使用myisam引擎。生产环境当中使用innodb引擎比较多。
  MySQL数据库生产环境如何选择合适的版本
  1,分析本企业业务,需要使用到MYSQL那些基本功能和特性,特性重点方向研究为:mysql复制,分区表,plugin-innodb等。
  2,mysql数据库产品线第一个GA版本推出时间,至少超过10个月,在考虑使用到生产环境:
  3,mysql数据库产品线上的最新GA版本,一般向后退3-4个版本的GA版本数据库,作为可选的目标;
  

  一,单实例mysql数据库的安装
  1,建立mysql账号
  #groupadd mysql
  #useradd -s /sbin/nologin-g mysql -M mysql
  -M表示不创建用户家目录。
  建立mysql软件目录:
  #mkdir -p/home/oldboy/tools
  2,编译安装mysql
  #yum install libtermcap-develncurses-devel -y #安装该函数库可以避免以下错误。
  
  

  #wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.62.tar.gz
  #tar zxfmysql-5.1.62.tar.gz
  [root@mysql mysql-5.1.62]#./configure \
  --prefix=/usr/local/mysql\
  --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock\
  --localstatedir=/data/mysql/data\
  --enable-assembler \
  --enable-thread-safe-client\
  --with-mysqld-user=mysql \
  --with-big-tables \
  --without-debug \
  --with-pthread \
  --enable-assembler \
  --with-extra-charsets=complex\
  --with-readline \
  --with-ssl \
  --with-embedded-server \
  --enable-local-infile \
  --with-plugins=partition,innobase\
  --with-plugin-PLUGIN \
  --with-mysqld-ldflags=-all-static\
  --with-client-ldflags=-all-static
  

  #make &&makeinstall
  ##可用./configure --help 来查看参数配置。
  安装完mysql后需要执行以下步骤:
  1,获取mysql配置文件;
  2,创建mysql数据库文件。初始化数据库。
  3,启动数据库;
  4,配置mysql命令全局使用路径;
  5,配置/etc/init.d/mysqld start 方式启动数据库;
  6,配置开机自启动;
  7,检查mysql数据库错误日志;
  获取mysql配置文件
  #ll support-files|grep*.cnf
  #/bin/cpsupport-files/my-medium.conf /etc/my.cnf
  #mysql 默认配置文件路径。
  创建mysql数据库文件
  #mkdir -p/usr/local/mysql/data
  #chown -R mysql/usr/local/mysql #授权mysql用户访问mysql的安装目录
  #/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql--datadir=/data/mysql/data --user=mysql #初始化mysql数据库文件
  启动数据库
  #/usr/local/mysql/bin/mysqld_safe&  #启动mysql数据库。
  #netstat -lnt |grep3306 #检查mysql数据库端口。
  #mysql  #默认登录mysql,不需要密码。
  检查错误文件
  #tail -10/usr/local/mysql/data/oldboy.err  #默认mysql的错误日志,是放在data目录下以主机名命名的err日志。
  配置mysql命令全局使用路径
  1#echo 'exportPATH=$PATH:/usr/local/mysql/bin' >>/etc/profile #添加全局配置,这样以后输入mysql命令就能进入mysql。
  #. /etc/profile #使变量生效。
  2#还有另外一个办法,就是把/usr/local/mysql/bin下面的命令拷贝到全局系统命令路径/usr/local/sbin下面也可以。
  配置/etc/init.d/mysqld start 方式启动数据库
  #cpsupport-files/mysql.server /etc/init.d/mysqld #拷贝mysql启动脚本到/etc/init.d/下。
  #chmod 700/etc/init.d/mysqld #授权700权限,即脚本可执行。
  #/etc/init.d/mysqldrestart #可用这种方式启动了..
  配置开机自启动
  #chkconfig --add mysqld
  #chkconfig mysqld on
  #chkconfig --list mysqld
  也可以将mysql启动命令,加入到/etc/rc.local中。
  

  三,编译安装php
  请安照编译方式进行安装。à如下↓
  lamp系列之PHP安装配置指南
  1,安装PHP程序环境
  php安装要依赖apache和mysql。
  1,1检查apache及mysql的安装情况
  检查apache和mysql是否安装。
  #/application/apache/bin/apachectl-v #检查apache版本
  #mysql -uroot -p'oldboy123' -e "selectversion();" #检查mysql的版本。
  1,2检查安装php所需要的lib
  #rpm -qa zlib libxml libjpeg freetype libpng gdcurl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devellibpng-devel gd-devel curl-devel
  #如果没有安装这些库,可以使用以下方法:
  #yum groupinstall "xsoftware development"
  1,3安装libiconv
  #cd /server/soft #自定义的软件下载目录
  #wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
  #tar zxflibiconv-1.14.tar.gz
  #cd libiconv-1.14
  #./configure--prefix=/usr/local/libiconv
  #make &&makeinstall
  ##相关地址:http://www.gnu.org/software/libiconv/ (获得地址的方法:www.g.cn 输入download libiconv 使用谷歌进行搜索)
  2,开始安装PHP
  2.1获取php软件包
  #cd /server/soft
  #wgethttp://php.net/get/php-5.3.20.tar.gz/from/cn2.php.net/mirror
  ##当然也可以去网上下载http://php.net
  2.2解压配置
  #tar zxf php-5.3.20.tar.gz
  #cd php-5.3.20
  #./configure \
  --prefix=/application/php5.3.20\
  --with-apxs2=/application/apache2.2.25/bin/apxs\
  --with-mysql=/usr/local/mysql\
  --with-xmlrpc \
  --with-openssl \
  --with-zlib \
  --with-freetype-dir \
  --with-gd \
  --with-jpeg-dir \
  --with-png-dir \
  --with-iconv=/usr/local/libiconv\
  --enable-short-tags \
  --enable-sockets \
  --enable-zend-multibyte \
  --enable-soap \
  --enable-mbstring \
  --enable-static \
  --enable-gd-native-ttf \
  --with-curl \
  --with-xsl \
  --enable-ftp \
  --with-libxml-dir
  --enable-sigchild \
  --enable-pcntl \
  --enable-bcmath
  

  安装:
  #make
  #make install
  配置:
  #ln -s/application/php5.3.10 /application/php #创建软连接。
  #ls -l /application/php
  #ls php.ini-* #为php的配置文件。
  php.ini-development(开发测试版)  php.ini-production(生产环境正式版)
  #diff php.ini-development php.ini-production  #可以比较以下。
  #/bin/cpphp.ini-production /application/php/lib/php.ini #拷贝配置文件到php路径下面。
  3,配置apache支持php
  3.1修改apache配置文件
  执行如下命令编辑apache的主配置文件httpd.conf:
  #cd/application/apache/conf/
  #cp httpd.confhttpd.conf.oldboy.20130502 #养成操作前备份的习惯。
  #vi/application/apache/conf/httpd.conf +98 #切换到httpd.conf第98行。
  #此时的apache配合文件的路径为 /application/apache/conf
  #增加如下内容:
  ServerName 127.0.0.1:80
  转换到311行即AddType application/X-gizp.gz.tgz行的下一行加两行对php的解析支持内容:
  AddType application/x-httpd-php .php .phptml
  AddType application/x-httpd-php-source .phps
  修改damon用户为ett #也可以不修改。
  User ett
  Group ett
  #如果不存在ett用户,一会保存好配置,需要执行 useradd ett -M-s /sbin/nologin建立ett
  转到166行修改默认的首页文件,本例中增加一个index.php
  DirectoryIndex index.phpindex.html
  #完成后保存并比较修改结果:
  #diff httpd.confhttpd.conf.oldboy.20130502
  3.2检查并启动apache
  检查apache配置文件的语法:
  #/application/apache/bin/apachectl-t #检查语法正确性
  重启apache服务:
  #/application/apache/bin/apachectlgraceful #平滑启动apache
  #特别说明:此处如果不关闭SELINUX将报下面的错误:

  临时解决:
  #setenforce 0
  永久解决:
  #sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config
  提示:两者同时使用,这样重启前后都是生效的。
  3.3测试php环境
  进入指定的默认站点目录后,编辑index.php添加:
  关闭开启的虚拟主机包含的文件:
  #sed -i 's#Includeconf/extra/httpd-vhosts.conf#\#Include conf/extra/httpd.vhosts.conf#g' /application/apache/conf/httpd.conf   #注释掉虚拟主机配置
  #grep httpd-vhosts.conf/application/apache/conf/httpd.conf  #检查是否正确
  #/application/apache/bin/apachectl-t #检查语法。
  #/application/apache/bin/apachectlgraceful #重启apache
  进入默认的apache站点目录
  #cd/application/apache/htdocs/
  #vi phpinfo.php
  
  注意:
  如果phpinfo的内容如下:
  #vi phpinfo.php
  
  需要修改php.inishort_open_tag= Off ---->改成On
  重启apachenginx  
  总结:更改php短标签,也就是让php程序认识里面的语句,这样的格式: 而长标签就应该是后之后也是可以正常访问的。
  3.4开启浏览器,输入IP地址进行访问。
  测试完需要删掉。
  

  4,测试php连接mysql是否正常
  编辑test_mysql.php加入如下内容
  
  

  linux php扩展安装gettext模块
# cd/server/soft/php-5.3.20
# cd ext/
# cd gettext/
[root@3350 gettext]#/application/php/bin/phpize

Configuring for:
PHP Api Version:     20090626
Zend Module Api No:   20090626
Zend Extension Api No:  220090626

[root@3350 gettext]# ./configure --with-php-config=/applicaiton/php/bin/php-config --with-gettext
[root@3350 gettext]# make && make install
[root@3350 etc]# vim php.ini 添加如下内容
extension_dir = /application/php5.3.20/lib/php/extensions/no-debug-zts-20090626/
extension = gettext.so
  
[root@3350 etc]# /application/php/bin/apachectl restart
  

  四:编译安装zabbix
  具体步骤如下:
  
解压zabbix安装包
  tarzxvfzabbix-2.0.8.tar.gz
  增加系统用户zabbix
  useraddzabbix-s/sbin/nologin
  

  启动数据库:
  /data/3306/mysqlstart
  设置mysql登陆密码
  

  登陆数据库,并创建zabbix数据库
  mysql -uroot -p'autohome' -S /data/3306/mysql.sock
   create database zabbix;
  grant all on zabbix.* to zabbix@localhost identified by ‘zabbix’;
  exit
  安装fping
  http://download.chinaunix.net/down.php?id=41795&ResourceID=3222&site=1
  tar zxf fping-3.0.tar
  ./configure
  make&&makeinstall
  /usr/local/sbin/fping#直接键入命令后运行
  /usr/local/man/man8/fping.8#此处为man文件
  

  yum install elfutils
  yum install elfutils-devel
  

  编译安装zabbix
  ./configure --prefix=/usr/local/zabbix --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
  make;make install
  将数据文件导入数据库:
  mysql -uroot -p'autohome' -S /data/3306/mysql.sock -A zabbix < schema.sql
  mysql -uroot -p'autohome' -S /data/3306/mysql.sock -A zabbix < images.sql
  mysql -uroot -p'autohome' -S /data/3306/mysql.sock -A zabbix < data.sql
  /etc/service文件中添加如下参数
  zabbix-agent  10050/tcp        # zabbix agent
  zabbix-agent  10050/udp        # zabbix agent
  zabbix-trapper 10051/tcp        # zabbix trapper
  zabbix-trapper 10051/udp        # zabbix trapper
  

  [root@zabbix etc]# pwd
  /usr/local/zabbix/etc
  [root@zabbix etc]# vi zabbix_server.confDBName=zabbix
DBUser=zabbix
DBPassword=zabbix

  FpingLocation=/usr/local/sbin/fping
  

  修改Agentd配置文件,更改HOST NAME 为本机的hostname就好了
  [root@zabbix etc]# pwd
  /usr/local/zabbix/etc
  vi zabbix_agent.conf
  

  启动zabbix服务
  # /usr/local/zabbix/sbin/zabbix_server
  # /usr/local/zabbix/sbin/zabbix_agentd
  [root@zabbix etc]# /usr/local/zabbix/sbin/zabbix_server
  [root@zabbix etc]# /usr/local/zabbix/sbin/zabbix_agentd
  [root@zabbix etc]# ps -ef|grep zabbix         
  zabbix  15773   1 014:14 ?    00:00:00/usr/local/zabbix/sbin/zabbix_server
  zabbix  15789   1 014:16 ?    00:00:00/usr/local/zabbix/sbin/zabbix_agentd
  zabbix  15790 15789 0 14:16 ?    00:00:00/usr/local/zabbix/sbin/zabbix_agentd
  zabbix  15791 15789 0 14:16 ?    00:00:00/usr/local/zabbix/sbin/zabbix_agentd
  zabbix  15792 15789 0 14:16 ?    00:00:00/usr/local/zabbix/sbin/zabbix_agentd
  zabbix  15793 15789 0 14:16 ?    00:00:00/usr/local/zabbix/sbin/zabbix_agentd
  zabbix  15794 15789 0 14:16 ?    00:00:00/usr/local/zabbix/sbin/zabbix_agentd
  root   15796 5577 0 14:16 pts/1  00:00:00 grep zabbix
  报错
  19299:20130922:134700.123 [Z3001] connection to database 'zabbix' failed:[2002] Can't connect to local MySQL server through socket'/var/lib/mysql/mysql.sock' (2)
  解决
  [root@zabbix mysql]# ln /usr/local/mysql/tmp/mysql.sock mysql.sock
  

  

  更改web
  cd /server/soft/zabbix-2.0.8/frontends/
  cp -rf php/ /application/apache/htdocs/zabbix
  cd /application/apache/htdocs/
  chown -R zabbix:zabbix zabbix
  

  重启apache服务
  

  错误总结:
  zabbix 服务器端启动时,ps -ef|grep zabbix 显示,服务启动,但是端口没有打开。这个问题是zabbix没有正确连接后台数据库造成的。
  检查:
  检查zabbix日志:
  LogFile=/tmp/zabbix_server.log
  

  [root@zabbix data]# tail -f /tmp/zabbix_server.log
   3675:20131008:134705.183 [Z3001]connection to database 'zabbix' failed: [2002] Can't connect to local MySQLserver through socket '/var/lib/mysql/mysql.sock' (111)
   3675:20131008:134705.183 Databaseis down. Reconnecting in 10 seconds.
   3675:20131008:134715.183 [Z3001]connection to database 'zabbix' failed: [2002] Can't connect to local MySQLserver through socket '/var/lib/mysql/mysql.sock' (111)
   ###由于我的数据库是编译安装的,所以zabbix默认查找的并不是我指定的sock
  问题出在这里,由于连接不到数据库造成的。
  解决方法:
  方法1,更改配置文件;
  vi /usr/local/zabbix/etc/zabbix_server.conf
  

  ### Option: DBSocket
  #    Path to MySQL socket.
  #
  # Mandatory: no
  # Default:
  DBSocket=/usr/local/mysql/tmp/mysql.sock
  ##添加我们编译指定的sock 然后重启zabbix服务。
  方法2,做指定数据库sock的软连接
  ln -s /usr/local/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock
  既然它回去找这个目录下的sock,那么就给它创建一个。
  创建软连接后,服务自动就启动了。
  

  至此zabbix--server安装成功.
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664535-1-1.html 上篇帖子: Kafka zabbix监控 下篇帖子: zabbix使用LDAP认证
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表