起因:

前面已经使用yum安装了zabbix 3.4了,准备去交差了,交差时老大明确要求必须使用编译安装,统一放在/usr/local目录下。。。。

重来吧!!

一、环境说明

本次安装使用CentOS 7.2的操作系统,Zabbix版本采用的是3.4.11

# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
# uname -a
Linux zabbix-101 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

至于系统的一些基本优化可参考本条连接:

http://blog.51cto.com/12217917/2060136

二、开始安装

(一)准备LNMP环境

1、Nginx-1.13.7编译安装

本次使用的是nginx-1.13.7版本的nginx,nginx的下载地址:http://nginx.org/download/

由于我的包是本地之前就有的,这里就不下载了,直接上传了

# yum install openssl openssl-devel pcre  pcre-devel -y                       #安装依赖包
# useradd zabbix -s /sbin/nologin -M #创建启动用户,这里创建的是zabbix用户
# ll /usr/local/src/
-rw-r--r-- 1 root root 990836 Nov 21 2017 nginx-1.13.7.tar.gz
# tar xf nginx-1.13.7.tar.gz
# cd nginx-1.13.7
# ./configure --user=zabbix --group=zabbix --with-http_ssl_module --with-http_stub_status_module --prefix=/usr/local/nginx-1.13.7/ #指定用户和组,启动ssl和nginx的状态模块同时指定nginx的目录
# make && make install && echo $? #编译成功后进行编译安装
# ln -s /usr/local/nginx-1.13.7 /usr/local/nginx #创建软连接
#/usr/local/nginx/sbin/nginx -t #检查配置文件是否正确
#/usr/local/nginx/sbin/nginx #启动nginx

2、mysql 5.6.34 cmake安装

本次使用的mysql版本为5.6.34,下载地址:https://downloads.mysql.com/archives/get/file/mysql-5.6.34.tar.gz

同样,我的包也是本地之前就有的,我就直接上传安装了

# install ncurses-devel libaio-devel cmake -y                #安装依赖及编译工具
# useradd -s /sbin/nologin -M mysql #创建用户
# ll /usr/local/src/
-rw-r--r-- 1 root root 32094762 Mar 15 2017 mysql-5.6.34.tar.gz
# tar xf mysql-5.6.34.tar.gz
# cd mysql-5.6.34
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.34 \ #cmake编译
-DMYSQL_DATADIR=/usr/local/mysql-5.6.34/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.34/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0 # make && make install #编译成功后编译安装
# ln -s /usr/local/mysql-5.6.34 /usr/local/mysql #创建软连接
# \cp support-files/my*.cnf /etc/my.cnf #创建mysql的配置文件
# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql #初始化mysql
# \cp support-files/mysql.server /etc/init.d/mysqld #创建mysql启动脚本
# chmod 700 /etc/init.d/mysqld #修改脚本权限
#/etc/init.d/mysqld start #启动mysql

  

3、编译安装php-5.6.16

本次使用的php版本为5.6.16,zabbix官网有明文说明,zabbix3.4.0必须使用5.4.0以上的版本的php,下载地址:http://php.net/downloads.php

我的php也是本地的,直接上产安装了

# ll /usr/local/src/
-rw-r--r-- 1 root root 4984397 Jan 16 2017 libiconv-1.14.tar.gz
-rw-r--r-- 1 root root 18319620 Nov 9 2017 php-5.6.16.tar.gz # yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel openssl-devel -y #安装依赖(需要repo源) # tar xf libiconv-1.14.tar.gz #手动安装libiconv包,
# cd libiconv-1.14
# ./configure --prefix=/usr/local/libiconv
# make && make install && cd .. 编译时报错:
  In file included from progname.c:26:0:
  ./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)
  _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
  ^
  make[2]: *** [progname.o] Error 1
  make[2]: Leaving directory `/home/zy/tools/libiconv-1.14/srclib'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/home/zy/tools/libiconv-1.14/srclib'
  make: *** [all] Error 2   解决办法:cd libiconv-1.14/srclib sed -i -e '/gets is a security/d' ./stdio.in.h # yum install -y libmcrypt-devel mhash mcrypt #安装php扩展库
# tar xf php-5.6.16.tar.gz
# cd php-5.6.16
# ./configure \
--prefix=/usr/local/php-5.6.16 \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--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=zabbix \
--with-fpm-group=zabbix \
--enable-ftp \
--enable-opcache=no # ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/ #防止编译时报错
# touch ext/phar/phar.phar.phar #防止编译时报错
# make && make install #编译成功后编译安装
# ln -s /usr/local/php-5.6.16 /usr/local/php
# cp -a /usr/local/src/php-5.6.16/php.ini-production /usr/local/php/lib/php.ini #配置php.ini
# cd /usr/local/php/etc/
# cp php-fpm.conf.default php-fpm.conf #配置php配置文件
# /usr/local/php/sbin/php-fpm #启动php

  

(二)编译安装Zabbix

1、安装zabbix

标题已经说明了,本次安装的是zabbix-3.4.11版本,下载地址:https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.11/zabbix-3.4.11.tar.gz/download

# yum -y install fping net-snmp-devel unixODBC-devel openssl-devel OpenIPMI-devel java-devel             #安装依赖包
# zabbix用户前面已经创建了
# tar xf zabbix-3.4.11.tar.gz #我本地有这个包,直接上传的
# cd zabbix-3.4.11
# ./configure --prefix=/usr/local/zabbix-3.4.11 --enable-server --enable-agent --enable-java --enable-ipv6 --with-mysql=/usr/local/mysql-5.6.34/bin/mysql_config \
--with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-openssl --with-mysql=mysqlnd
编译时遇到的报错及解决办法:

  CentOS 7.2编译安装时报这个错的解决办法:configure: error: LIBXML2 library not found
  解决:yum install libxml2-devel
  CentOS 7.2编译安装时报这个错的解决办法:configure: error: Unable to use libevent (libevent check failed)
  解决:yum install -y libevent libevent-devel
  CentOS 7.2编译安装时报这个错的解决办法:configure: error: Curl library not found
  解决:yum install libcurl-devel

# make && make install                  #问题都解决后编译安装即可
# ln -s /usr/local/zabbix-3.4.11 /usr/local/zabbix #创建软连接

2、创建数据库、授权及导入数据

create database zabbix character set utf8 collate utf8_bin;                 #创建库
grant all on zabbix.* to zabbix@'%' identified by 'zabbix'; #创建用户并授权
grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix'; #创建用户并授权
flush privileges; #刷新权限

导入数据库:

usr zabbix;
source /usr/local/src/zabbix-3.4.11/database/mysql/schema.sql;
source /usr/local/src/zabbix-3.4.11/database/mysql/images.sql;
source /usr/local/src/zabbix-3.4.11/database/mysql/data.sql;
说明:导入的线后顺序为:1、schema.sql(表结构、首先导入),2、images.sql(图型、其次导入),3、data.sql(数据、最后导入),如果不按顺序可能会报错!!

3、配置nginx

1、创建web代码目录并上传代码

# mkdir /usr/local/nginx/html/zabbix
# cp -a /usr/local/src/zabbix-3.4.11/frontends/php/* /usr/local/nginx/html/zabbix
# chown -R zabbix.zabbix /usr/local/nginx/html/zabbix

2、配置nginx配置文件为

# cat /usr/local/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65; server {
listen 80;
server_name localhost;
root html/zabbix;
location / {
root html/zabbix;
index index.php index.html index.htm;
}
location ~ .*\.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
access_log logs/zabbix.log;
}
}

  

4、配置PHP

1、修改php.ini的参数大小

# vim /usr/local/php/lib/php.ini

660 post_max_size = 8M      #改为16M
372 max_execution_time = 30 #改为300
382 max_input_time = 60 #改为300
704 ;always_populate_raw_post_data = -1 #取消注释
926 ;date.timezone = #时区设置为上海 date.timezone = Asia/Shanghai

这是官网给的php配置:

2、添加php模块

1、gettext模块
# cd /usr/local/src/php.5.6.16/ext/gettext/
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
# echo "extension = gettext.so" >>/usr/local/php/lib/php.ini
2、ldap模块
# cd /usr/local/src/php.5.6.16/ext/ldap/
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap
# make && make install
# echo "extension = ldap.so" >>/usr/local/php/lib/php.ini
报错:configure: error: Cannot find ldap libraries in /usr/lib.
解决:cp -a /usr/lib64/libldap* /usr/lib/ 增加完模块后重启php进程

5、配置zabbix

1、修改zabbix-server

# egrep -v "^#|^$" zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=¥database-passwd
DBSocket=/tmp/mysql.sock
Timeout=4
LogSlowQueries=3000
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

2、修改zabbix-agent

# egrep -v "^#|^$" zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Server=$zabbix-server-IP
ServerActive=$zabbix-server-IP
Hostname=Zabbix server
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

6、启动zabbix和nginx

# /usr/local/zabbix/sbin/zabbix_server            #启动zabbix-server
# /usr/local/nginx/sbin/nginx -t
# /usr/local/nginx/sbin/nginx #启动nginx

三、访问zabbix

浏览器访问:http://zabbix.71net.com/zabbix      #其中zabbix.71net.com是你的zabbix服务器的IP地址或域名

1、进入zabbix页面

2、检查服务是否都安装了(必须都是绿色的)

3、连接数据库配置

4、配置后台

5、确认信息

6、登陆zabbix控制台(默认用户名:Admin,密码:zabbix)

7、修改控制台的字符集为中文

CentOS 7.2-编译安装zabbix 3.4的更多相关文章

  1. CentOS 6.4编译安装和部署Zabbix 2.0版本监控(中文)

    [一].zabbix简介 zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级开元解决方案 zabbix由2部分构成,zabbix_server和可选组件zabbix_agen ...

  2. 编译安装zabbix 3.0及分开部署配置详解

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP及角色分配如拓扑 下载地址:试验中用到mariadb软件的下 ...

  3. CentOS 7源码安装zabbix

    一.Zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统 ...

  4. Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入(1)

    一.本系列分为6部分 1.Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入 2.Centos 6.5 下安装 Zabbix server 3.0服务器的安 ...

  5. CentOS 7 源码安装 Zabbix 6.0

    Zabbix 主要有以下几个组件组成: Zabbix Server:Zabbix 服务端,是 Zabbix 的核心组件.它负责接收监控数据并触发告警,还负责将监控数据持久化到数据库中. Zabbix ...

  6. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14

    准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...

  7. centos 7.0 编译安装php 7.0.3

    php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...

  8. CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3

    http://www.osyunwei.com/archives/8867.html 一.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables #编辑防火墙配置 ...

  9. CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13

    CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.132013-10-24 15:31:12标签:服务器 防火墙 file 配置文件 written 一.配置好I ...

随机推荐

  1. C#一键显示及杀死占用端口号进程

    private void t_btn_kill_Click(object sender, EventArgs e) { int port; bool b = int.TryParse(t_txt_gu ...

  2. 截屏快捷键(windows)自带截屏,不需要安装任何插件

    方案一:电脑自带截屏,不需要QQ Shift+win+s即可截图(推荐使用) 方案二:搜狗输入法下载自带:Ctrl+Shift+x

  3. 【洛谷P1373】小a和uim之大逃离

    小a和uim之大逃离 题目链接 因为每次只能向下或向右走,我们可以递推 dp[i][j][d][0/1]表示走到(i,j),mod k 意义下差值为d,轮到小a/小uim操作时的方案数 dp[i][j ...

  4. ARC声明属性关键字详解(strong,weak,unsafe_unretained,copy)

    ARC声明属性关键字详解(strong,weak,unsafe_unretained,copy) 在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了, ...

  5. AtomicIntegerArray数组类型类

      前一篇文章学习了AtomicXXX基本数据类型类,可以为int,boolean或者reference类型,也就是单个元素的原子类.那么数组类型呢? 下面以AtomicIntegerArray为例进 ...

  6. mybatis——学习笔记

    配置文件 <properties resource="dbconfig.properties"></properties> 1. properties 引入 ...

  7. 汇编中PSP是什么?为什么一般cs比ds大10h

    一般来说,PSP是256个字节,当程度生成了可执行文件以后,在执行的时候,先将程序调入内存, 这个时候DS中存入程序在内存中的段地址,紧接着是程序的一些说明,比如说程序占用多大空间等 等,这就是PSP ...

  8. qq空间认证教程:借助企鹅媒体平台认证QQ公众空间

    年轻人,最近你是否眼看众多新开的QQ空间认证成功,自己却一筹莫展,而心情极度狂躁焦虑,别急,以下是详细教程,不能保证100%,但老夫已认证成功几个号. 不废话,直接上流程: 方法大致有2种: 1. 通 ...

  9. mysql 几种搜索引擎的比较

    mysql中常见的数据库引擎之间的比较  转载自 深入浅出mysql数据库 MySQL5.5以后默认使用InnoDB存储引擎,其中InnoDB和BDB提供事务安全表,其它存储引擎都是非事务安全表. 若 ...

  10. VxWorks 7 技术简介

    VxWorks 7 是新一代的嵌入式实时操作系统,全新的架构设计,灵活化的组件配置,高可靠性与安全性,丰富的第三方软件包,极大的方便用户的开发和使用.本文对VxWorks7 的功能做个简要的记录. V ...