说明:搭建ZABBIX所需的软件列表为:RHEL6.5+Nginx+MySQL+PHP+ZABBIX。

一、软件包

软件名称

版本

下载地址

nginx

1.10.3

http://nginx.org/download/nginx-1.10.3.tar.gz

MySQL

5.7.21

https://dev.mysql.com/downloads/mysql/

PHP

7.1.3

http://php.net/get/php-7.1.3.tar.gz/from/a/mirror

ZABBIX

2.4.8(Server)

2.4.6(agent)

http://www.zabbix.com/download2

二、配置yum源

1.上传文件rhel-server-6.5-x86_64-dvd.iso到/root目录下;

2.新建目录/yum

mkdir /yum

3.挂载镜像文件到目录/yum

mount -o loop  rhel-server-6.5-x86_64-dvd.iso  /yum

4.配置repo文件

cd /etc/yum.repos.d

编辑rhel-source.repo文件,修改后的内容如下:

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///yum
enabled=
gpgcheck=

至此,yum源配置完毕!

三、安装Nginx

1.安装nginx相关依赖包

yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel

2.解压压缩包

tar -xvf  nginx-1.10..tar.gz

3.安装nginx到目录/usr/local/nginx

cd nginx-1.10.
./configure --prefix=/usr/local/nginx #nginx安装到此目录
make #编译
make insall #编译安装

4.为后续配合PHP,故需要配置nginx.conf

#在如下目录新建目录web_root
cd /usr/local/nginx
mkdir web_root
#编辑nginx.conf以支持PHP,修改部分见如下红字。

修改项:
#新建一行:root /usr/local/nginx/web_root
#修改一行:将之前的scripts修改为/usr/local/nginx/web_root
[root@ZABBIX conf]# more nginx.conf

#user  nobody;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections ;
} 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 ;
keepalive_timeout ; #gzip on; server {
listen ;
server_name localhost; ############add by guanyy#################
root /usr/local/nginx/web_root;
########################################## #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.php index.html index.htm;
} #error_page /.html; # redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/web_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* ^.+\.(ico|gif|jpg|jpeg|png|html|css|htm|bmp|js|svg)$ {

root          /usr/local/nginx/web_root;
          }

        # 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 ;
# listen somename:;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen 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;
# }
#} }

5.修改完成后,保存退出

6.启动nginx

/usr/local/nginx/sbin/nginx

7.新建一个测试文件index.php,测试成功后再删除

cd /usr/local/nginx/web_root/

[root@ZABBIX web_root]# more index.php
<?php
phpinfo();
?>

四、安装MySQL

MySQL采用二进制方式安装!具体安装步骤见:

http://www.cnblogs.com/xialiaoliao0911/p/7523931.html

五、安装PHP

1.安装PHP所需依赖包

yum -y install libxml2 libxml2-devel  libpng  libpng-devel bzip2 bzip2-devel

2.解压包来安装PHP

#以nginx做Web服务器时,安装命令如下:

#安装php到目录/usr/local/php

./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/jpeg \
--with-png-dir=/usr/local/png \
--with-freetype-dir=/usr/local/freetype \
--enable-gd-native-ttf \
--with-iconv-dir=/usr/local/iconv \
--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 make #编译
make test #测试
make install #安装

#以Apache做Web服务器时,安装命令如下:

./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache2/bin/apxs
make && make install

3.复制和修改配置文件

(1)从PHP解压后的目录复制文件到/usr/local/php/etc目录(该目录在安装时已被定义为php配置文件目录)

cp  /root/php-7.1./sapi/fpm/php-fpm.conf  /usr/local/php/etc
cp /root/php-7.1.3/php.ini-production/php.ini /usr/local/php/etc
mv /usr/local/php/etc/php.ini-production php.ini

说明:php.ini重命名后需要修改参数,具体如下:

vi /usr/local/php/etc/php.ini
post_max_size= 16M
max_execution_time =
max_input_time =
date.timezone = Asia/shanghai

(2)通过复制方式新建一个文件www.conf

cp  /usr/local/php/etc/php-fpm.d/www.conf.default  www.conf

4. 启动PHP

/usr/local/php/sbin/php-fpm

5.检查PHP是否安装成功,在浏览器输入如下地址,看是否可以正常访问。其中192.168.102.140是安装PHP的主机IP。

http://192.168.102.140/index.php

注意:如果不能访问,请关闭Linux的防火墙!

如出现如下界面,表示PHP安装成功!

六、安装ZABBIX

1.安装ZABBIX依赖包

#根据ZABBIX官方网站的链接,进行安装依赖包

rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

#除官网外,还需要安装的依赖包

yum -y install zabbix-get zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql  net-snmp-devel curl-devel

2.登录MySQL,新建ZABBIX所需的数据库、用户名,并导入sql文件

#创建zabbix数据库
create database zabbix; #创建zabbix用户并授权,密码为123456
CREATE USER 'zabbix'@'%' IDENTIFIED BY ''; grant all on zabbix.* to 'zabbix'@'%' identified by '' with grant option; #刷新权限
flush privileges;
#导入sql文件到MySQL,执行顺序不能变
use zabbix;
source /root/zabbix-2.4./database/mysql/schema.sql
source /root/zabbix-2.4./database/mysql/images.sql
source /root/zabbix-2.4./database/mysql/data.sql

3. 添加软链接

cd /usr/lib64/mysql
ln -s libmysqlclient.so.16.0. libmysqlclient.so
ln -s libmysqlclient_r.so.16.0. libmysqlclient_r.so

4.安装ZABBIX

/usr/local/zabbix-2.4.8   :  zabbix安装目录

/usr/local/mysql/bin/mysql_config   :  mysql实际安装目录

./configure --prefix=/usr/local/zabbix-2.4.8 --enable-server --enable-agent  --with-net-snmp --with-libcurl --enable-proxy --with-libxml2 --with-mysql=/usr/local/mysql/bin/mysql_config
make
make install

5.添加系统软链接

ln -s /usr/local/zabbix-2.4./sbin/*   /usr/local/sbin/
ln -s /usr/local/zabbix-2.4.8/bin/* /usr/local/bin/

6.添加zabbix服务对应的端口(zabbix安装后会自动添加,但仍需检查)

vi /etc/services
zabbix-agent /tcp # Zabbix Agent
zabbix-agent /udp # Zabbix Agent
zabbix-trapper /tcp # Zabbix Trapper
zabbix-trapper /udp # Zabbix Trapper

7.修改zabbix配置文件

cd /usr/local/zabbix-2.4./etc
vi /usr/local/zabbix-2.4./etc/zabbix_server.conf DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户名
DBPassword= #数据库密码
DBDBSocket=/tmp/mysql.sock #sock文件,/etc/my.cnf中有记录
ListenIP=127.0.0.1 #监听IP
AlertscriptsPath=/usr/local/zabbix-2.4.8/share/zabbix/alertscripts #zabbix运行脚本存放目录
vi /usr/local/zabbix-2.4./etc/zabbix_agentd.conf
Include=/usr/local/zabbix-2.4./etc/zabbix_agentd.conf.d/
UnsafeUserParameters= #启用自定义key

8.添加开机启动脚本

#复制相关文件到/etc/init.d目录下
cp /root/zabbix-2.4./misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
cp /root/zabbix-2.4./misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd #添加执行权限
chmod +x /etc/init.d/zabbix_agentd
chmod +x /etc/init.d/zabbix_server #设置开机启动
chkconfig zabbix_server on
chkconfig zabbix_agentd on #设置软链接
ln -s /usr/local/mysql/lib/libmysqlclient.so. /usr/lib/libmysqlclient.so.

#修改启动脚本中的zabbix目录为实际安装目录,如下红色框中。

/etc/init.d/zabbix_server

/etc/init.d/zabbix_agentd

9.启动zabbix_server和zabbix_agentd

#启动zabbix_server
/etc/init.d/zabbix_server start #启动zabbix_agentd
/etc/init.d/zabbix_agentd start

10. 将zabbix源码目录frontends/php下的所有文件复制到/usr/local/nginx/web_root目录下.

cp -r /root/zabbix-2.4./frontends/php/*   /usr/local/nginx/web_root

11.为防止打开的zabbix界面没有样式,只有文字,在/usr/local/php/etc/php-fpm.d/www.conf中找到如下这行,放开注释,并添加js等。然后重启nginx和php-fpm

#需修改行
security.limit_extensions = .php .php3 .php4 .php5
#修改后的结果如下
security.limit_extensions = .php .php3 .php4 .php5 .php7 .js .css .jpg .gif .png .jpeg .html .ico .bmp

12.在浏览器中输入http://192.168.102.140/setup就能打开ZABBIX界面

13. 解决所有fail项后,进入下一步测试数据库连接,输入数据库的IP、数据库名称、用户名和密码。

#解决所有fail项后的界面

#数据库测试成功的界面

#输入ZABBIX机器的host或IP,并起名

#点击进入下一步,会显示安装概要,包括一些IP、数据库等参数的设置

#点击下一步,会出现一个错误,此时需要点击界面中的“”下载配置文件“”下载配置文件,并放到界面中指定的目录下。然后点击重试。

#检查成功后,点击Finish. 进入ZABBIX登录界面

#zabbix安装后默认的用户名和密码为admin/zabbix.登录后即可进入zabbix.

七、安装ZABBIX_AGENT

请参见:

http://blog.csdn.net/wn_hello/article/details/52121888

记录MySQL用户名和密码的2个文件

/usr/local/zabbix/etc/zabbix_server.conf
/usr/local/nginx/web_root/conf/zabbix.conf.php

八、常见问题解决

1.问题描述:

解决方法:

(1)进入到PHP源码目录的/root/php-7.1.3/ext/mysqli下,执行如下命令:

/usr/local/php/bin/phpize
./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config make
make install

说明:如果编译失败(找不到文件mysql_float_to_double.h),可参见:https://www.cnblogs.com/xiaoqian1993/p/6277771.html

(2)编译成功后,结果如下:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
Installing header files: /usr/local/php/include/php/

进入红色字体目录下,看是否有mysqli.so. 如果有的话,将该文件追加到/usr/local/php/lib/php.ini文件中,结果如下:

extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-/mysqli.so

(3)重启MySQL和nginx

2.问题描述:

解决方法:

找到如下文件,添加$current = -;
vi /usr/local/nginx/web_root/include/classes/setup/CFrontendSetup.php

3. 问题描述:

解决方法:

cd /root/php-7.1./ext/gettext
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-gettext
make && make install

执行上述命令后,会生成一个gettext.so文件,将该文件追加到/usr/local/php/lib/php.ini文件中,结果如下:

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-/gettext.so

4. 问题描述

解决方法:

将文件/usr/local/zabbix/etc/zabbix_server.conf中的ListenIP=127.0.0.1注释掉!然后重启zabbix_server和zabbix_agentd

/etc/init.d/zabbix_server restart
/etc/init.d/zabbix_agentd restart

5.问题描述

解决方法:

找到文件/usr/local/nginx/web_root/include/func.inc.php

对412行的$val的数据类型进行转换新增一行 $val = intval($val);

6. 问题描述:关于中文乱码的问题(方块为乱码)

(1)首先从本地计算机中找到一个中文字体 。例如 C:\Windows\Fonts\simfang.ttf

(2)将该字体上传到/usr/local/nginx/web_root/fonts目录下

(3)修改defines.inc.php文件中的字体为simfang

cd /usr/local/nginx/web_root/include
sed -i 's/DejaVuSans/simfang/g' defines.inc.php

(4)修改后字体即可正常显示

7. 问题描述:ZABBIX安装完成后,在浏览器打开后,没有界面样式,只以文本显示。

解决方法: https://www.cnblogs.com/shihuc/p/6149253.html

【ZABBIX】Linux下安装ZABBIX的更多相关文章

  1. linux下安装zabbix服务器

    1.lnmp环境安装(linux.nginx.mysql.php) 2.安装php所需模块以及其他模块 yum install -y php-bcmath yum install -y php-mbs ...

  2. linux下安装zabbix

    1.安装源:sudo rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/6/i386/zabbix-release-3.2-1.el6.noarch.rp ...

  3. 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服务器的安 ...

  4. Windows系统下安装zabbix客户端

    简单介绍如何在windows系统下安装zabbix客户端 1. 首先下载和zabbix服务端大版本相同的windows客户端    例如我服务端安装的是zabbix-3.4.14.tar.gz     ...

  5. Centos 6.5 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入(2)

    一.Centos 6.5 下的Zabbix Server安装 上篇文章记录的是centos 7 下安装zabbix ,很简单.但是6.5上面没有可用的源直接安装zabbix,所以需要从别处下载.感谢i ...

  6. Linux下安装 Posgresql 并设置基本参数

    在Linux下安装Postgresql有二进制格式安装和源码安装两种安装方式,这里用的是二进制格式安装.各个版本的Linux都内置了Postgresql,所以可直接通过命令行安装便可.本文用的是Cen ...

  7. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  8. Linux下安装使用Solr

    Linux下安装使用Solr 1.首先下载Solr.mmseg4j分词包.tomcat并解压,这用google.百度都可以搜索得到下载地址. 2.因为要使用到中文分词,所以要设置编码,进入tomcat ...

  9. Linux下安装tar.gz类型的jdk,并配置环境变量

    近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...

随机推荐

  1. android pm命令

    把网络apk下载到盒子或者其他安卓设备上 1.adb push windows的原路径 android设备的路径 2.pm install android设备的路径 注意:这里pm命令是安卓设备才有的 ...

  2. Kendo MVVM (一) 概述

    Kendo MVVM (一) 概述 Model View ViewModel (MVVM)  是开发人员经常使用的一种设计模式,以实现数据模型(Model)和视图(View)的分离.MVVM 中的 V ...

  3. GoAccess安装和使用介绍

    使用文档参考地址:https://my.oschina.net/mrco/blog/181737https://www.fanhaobai.com/2017/06/go-access.html goa ...

  4. HDU 4734 F(x) (数位DP,基础)

    题意:  一个非负整数的十进制位是这样的 (AnAn-1An-2 ... A2A1),定义F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1. ...

  5. 这些O2O比你们更靠谱儿

    本文纯属虚构,如有雷同,全是 C2C(Copy to China). 一 「什么社区 O2O,不就是跑腿儿的?那叮*小区不好好跑腿儿,非要搞什么狗屁社交,不是死了?」 三十四岁的老刘咽了口唾沫,接着跟 ...

  6. JAVA小游戏之两个物体碰撞产生的碰撞检测

    首先必须了解两个物体,在移动时,会有怎样的效果,比如沪我们小时候耍过的坦克大战.看起来很简单,但是写起代码来,复杂的要多: 下面举个例子: // 构造一个新的 Rectangle,其左上角的坐标为 ( ...

  7. MVC web api转换JSON 的方法

  8. UVA 12898 - And Or 与和或 (思路题)

    思路就是有零一变化的位Or以后一定是1,And以后一定是0:那么如果b的二进制更长那么就把包含a的部分全部置为1或0,如果一样长那么就把不同的部分置为1或0. 今天被这题坑的地方:1默认是int,如果 ...

  9. 【胎教】做AI的基础,开始学习。

    昨天,找了博导,他给我聊了一下暑假任务.现总结如下: 1. 周志华, 机器学习: 2. GoodFellow,深度学习: 3. 曾更生,*****医学图像处理: 4. cs231n,公式推导,课后习题 ...

  10. 在Vue将第三方JS库封装为组件使用

    第三方JS库地址:https://github.com/inorganik/CountUp.js 使用NPM进行安装: npm install --save countup 根据官方回答,CountU ...