zabbix安装配置详解(一)



一、nginx安装

  

1.必要软件准备:


为了支持rewrite功能,我们需要安装pcre: 
#yum install pcre-*
需要ssl的支持,如果不需要ssl支持,请跳过这一步: 
#yum install openssl*
增加:
#yum install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel \
freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel 
glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs \
e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel \
openldap openldap-devel nss_ldap openldap-clients openldap-servers mysql-devel -y


2.安装nginx:

#./configure \
--prefix=/usr/local/nginx-1.11.3 \
--with-http_ssl_module \
--with-http_spdy_module \
--with-http_stub_status_module \
--with-pcre

  出现报错:

  取消--with-http_spdy_module选项

#./configure \
--prefix=/usr/local/nginx-1.11.3 \
--with-http_ssl_module  \
--with-http_stub_status_module \
--with-pcre

  编译安装成功    开启防火墙端口后测试

       记得启动Nginx

  

注解:

  --with-http_stub_status_module:支持nginx状态查询
  --with-http_ssl_module:支持https
  --with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持
  --with-pcre:为了支持rewrite重写功能,必须制定pcre



二、编译安装php


1.下载php源码包

#http://cn2.php.net/get/php-7.0.10.tar.gz/from/this/mirror

2.安装依赖包,确保安装之前有安装gd,png,curl,xml等等lib开发库。如果不确定,执行以下命令:

#yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y

3.编译安装PHP-7.0.10

以下参数支持,ftp,图片函数,pdo等支持,因为使用了php自带的mysqlnd,所以不需要额外安装mysql的lib库了.如果你是64位系统,参数后面加上--with-libdir=lib64,如果不是可以跳过。

#./configure \
--prefix=/usr/local/php-7.0.10 \
--with-config-file-path=/usr/local/php-7.0.10/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

#make && make install

备注:如果PHP不需要curl和ftp的支持,可以将以上的--with-curl --enable-ftp去掉. 如果你是专业的linux从业人员,你完全可以看着help来选择你的安装参数,如果你不是的话,我建议你直接复制黏贴我的配置参数.这样可以少走一些弯路.

4.配置php:

#cp php.ini-production /usr/local/php-7.0.10/etc/php.ini
#cp /usr/local/php-7.0.10/etc/php-fpm.conf.default /usr/local/php-7.0.10/etc/php-fpm.conf
#cd /usr/local/php-7.0.9/etc/php-fpm.d      
#cp www.conf.default www.conf


5.启动php-fpm:

#/usr/local/php-7.0.10/sbin/php-fpm

  




三、整合nginx和php


1.配置nginx的配置文件nginx.conf  内容如下:

先注释掉http段server{}的内容,再在http其中增加


server {
listen 80;
server_name localhost;
#access_log /data/logs/access.log main;

index index.php index.html index.html;
root /data/zabbix;

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

location ~ .*\.(php)?$
{
expires -1s;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;

}
}


2.测试:

#mkdir -p /data/zabbix
#cd /data/zabbix
#vim info.php
写入内容:<?php phpinfo(); ?>
:wq  保存退出


浏览器地址栏输入:http://IP/info.php

  





四、安装mysql【此处使用yum安装】

  

1.安装  

#yum install mysql mysql-server -y

2.启动

#service mysqld start

3.设置mysql的密码

#mysqladmin -uroot password 'root'

4.进入mysql

#mysql -uroot -p  root

5.创建zabbix数据库

  create database zabbix default charset utf8;   【default charset utf8:设置数据库为utf8,防止中文乱码

6.使用数据库   查看数据库  

  use zabbix;    show databases;

7.导入zabbix数据库文件

  source /home/zabbix-3.0.4/database/mysql/schema.sql

  source /home/zabbix-3.0.4/database/mysql/data.sql

  source /home/zabbix-3.0.4/database/mysql/images.sql

8.退出数据库

  quit





五、安装zabbix


1.安装: 

#./configure \
--prefix=/usr/local/zabbix-3.0.4/ \
--enable-server \
--enable-agent \
--enable-proxy \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2


提示报--with-net-snmp

  

执行 yum install net-snmp.x86_64 net-snmp-devel.x86_64 安装后修复

 

#make
#make install

2.创建zabbix的用户组

#groupadd zabbix

3.在zabbix用户组中创建zabbix用户

#useradd -g zabbix zabbix

4.配置zabbix web管理界面

#cp -r  /home/zabbix-3.0.4/frontends/php /data/zabbix

5.配置zabbix 

【1】
#vim /usr/local/zabbix-3.0.4/etc/zabbix_server.conf
  配置以下内容:
  DBName=zabbix
  DBUser=root  
 
  DBPassword=root
  DBPort=3306
【2】
#cd /data/zabbix/php/conf  
#cp zabbix.conf.php.example zabbix.conf.php

6.启动zabbix-server

#/usr/local/zabbix-3.0.4/sbin/zabbix_server






六、zabbix界面安装配置


1.【缺少组件,配置php.ini】

#vim /usr/local/php-7.0.10/etc/php.ini

配置内容如下:  
max_execution_time = 300
   memory_limit = 128M
   post_max_size = 16M
   upload_max_filesize = 2M
   max_input_time = 300
   date.timezone PRC

  配置后需重新启动php-fpm

2.【页面配置报错,提示不能连接数据库】

页面配置是报错,无法连接到数据库,原因读取不了mysql.sock文件

解决:ln -s /var/lib/mysql/mysql.sock /tmp/

也可以修改配置文件的mysql.sock的路径



七、最后附上界面图

   




浏览器输入http://192.168.xx.xx/zabbix,发现下面的报错

Error connecting to database: Access denied for user 'zabbix' @ 'localhost' to database 'zabbixdb'


问题分析:

数据库的配置肯定正确的,那么问题就可能是zabbix的配置文件不正确,而涉及的配置文件当时只知道有zabbix_server.conf


排查过程:

1.检查zabbix_server.conf配置文件,发现数据库配置也是正确的,但就是报上面的错误

2.最后通过网上搜索,发现

/data/zabbix/php/conf/zabbix.conf.php

文件里面也有数据库的配置不正确(见下面红色字体),修改后,可以正常显示zabbix页面

确定

$DB['DATABASE'] 

$DB['USER'] 

$DB['PASSWORD']




本文转载自:

http://www.cnblogs.com/chenjw-note/articles/5802120.html