CentOS 6.6 下Zabbix 3.0 的安装部署

Zabbix3.0界面焕然一新,一改10多年的老面孔,alpha4的更新具体记录下:http://www.zabbix.com/rn3.0.0alpha4.php

What's New in 3.0.0alpha4

CentOS 6.6 下Zabbix 3.0 的安装部署

Zabbix 3.0安装过程与2.x的变化类似,但又少许需要注意的坑(以下标红的),否则会坑的不行。。。

基础环境:

CentOS 6.6 X64

Nginx:1.9.7

Mysql:5.5.32

PHP:5.5.30( zabbix_3.0 要求php版本至少在5.4以上 )

CentOS 6.6 下Zabbix 3.0 的安装部署

一些Zabbix相关教程集合

一、Nginx安装:

1.rpm -qa pcre pcre-devel
2.yum install pcre pcre-devel openssl openssl-devel -y
3.mkdir -p /usr/local/nginx-1.9.7
4.useradd nginx -s /sbin/nologin -M
5../configure --user=nginx --group=nginx --prefix=/usr/local/nginx-1.9.7 --with-http_stub_status_module --with-http_ssl_module
make && make install
ln -s /usr/local/nginx-1.9.7 /usr/local/nginx
6.ls -l /usr/local/
7./usr/local/nginx/sbin/nginx
8.ps -ef|grep nginx
9.ss -lntup|grep nginx
[root@zabbix_3.0 conf]# egrep -v "#|^$" nginx.conf.default > nginx.conf
[root@zabbix_3.0 conf]# vim /usr/local/nginx/conf/nginx.conf
worker_processes 1;
error_log /usr/local/nginx/logs/error.log; --新增一行
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on; --新增一行
server {
listen 80;
server_name localhost;
access_log /usr/local/nginx/logs/access.log; --新增一行
root /usr/local/nginx/html; --更改为/usr/local/nginx/html,原来的值为html;
index index.php index.html index.htm; --加一个index.php
error_page 500 502 503 504 /50x.html;
location = /50x.html { --删除这行
root html; --删除这行
} --删除这行
--下面这部分新增加的内容
location ~ \.(php|php5)?$ {
#root /usr/local/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
}
10.为nginx提供 init脚本,新建文件/etc/rc.d/init.d/nginx,把以下内容复制到刚建的nginx文件下:
#!/bin/sh
#nx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
[ -f /usr/local/nginx ] && . /usr/local/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
11.添加启动项并做成服务:
[root@localhost nginx-1.9.7]chmod +x /etc/rc.d/init.d/nginx
[root@localhost nginx-1.9.7]chkconfig --add nginx
[root@localhost nginx-1.9.7]chkconfig nginx on
[root@localhost php]# ps -A|grep nginx
62878 ? 00:00:00 nginx
62879 ? 00:00:00 nginx

二、MySql安装:二进制软件包(170多M)

# yum install tree nmap lrzsz dos2unix -y
# mkdir -p /usr/local/mysql-5.5.32
[root@zabbix_3.0]# tar -zxvf mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@zabbix_3.0]# mv mysql-5.5.32-linux2.6-x86_64 /usr/local/mysql-5.5.32
[root@zabbix_3.0]# ln -s /usr/local/mysql-5.5.32/ /usr/local/mysql
[root@zabbix_3.0]# useradd mysql -s /sbin/nologin -M
[root@zabbix_3.0]# chown -R mysql.mysql /usr/local/mysql
[root@zabbix_3.0]# cd /usr/local/mysql
[root@zabbix_3.0 mysql]
-- 创建系统表
# ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
--这步不用做sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
cp support-files/my-small.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
# source /etc/profile
[root@zabbix_3.0]# echo $PATH
/usr/local/mysql/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@zabbix_3.0 application]# cp -a /application/mysql/bin/* /usr/local/sbin
[root@zabbix_3.0 application]#service mysqld start
[root@zabbix_3.0 application]#chkconfig mysqld on
[root@zabbix_3.0 application]#mysqladmin -uroot password 123456

三、PHP安装:

1.yum -y install zlib-devel libxml2-devel libjpeg-devel libiconv-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel
2.wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
mkdir -p /usr/local/libiconv
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
cd ../
3.yum -y install libmcrypt-devel mhash mcrypt --这3个rpm包必须安装,CentOS6.6系统的标准YUM源里没有, 需要从EPEL源上找到下载安装
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
php 5.5.30:( --with-mysqli=mysqlnd和--with-gettext一定要加上,否则前者不装时安装 zabbix时database type没有选项 默认出来的数据库是SqLite 3,且不能切换 ,后者不装时,会报PHP gettext warning)
mkdir -p /usr/local/php-5.5.30
tar -zxvf php-5.5.30.tar.gz
cd php-5.5.30
./configure \
--prefix=/usr/local/php-5.5.30 \
--with-mysql=/usr/local/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回车
+-----------------------------------------------------------------------------------+
| License:                                                                        |
| This software is subject to the PHP License, available in this        |
| distribution in the file LICENSE. By continuing this installation      |
| process, you are bound by the terms of this license agreement.        |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                                    |
+-----------------------------------------------------------------------------------+
Thank you for using PHP.
config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/fpm/php-fpm.conf
config.status: creating sapi/fpm/init.d.php-fpm
config.status: creating sapi/fpm/php-fpm.service
config.status: creating sapi/fpm/php-fpm.8
config.status: creating sapi/fpm/status.html
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
#make && make install
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
directorytreeiterator.inc
directorygraphiterator.inc
invertedregexiterator.inc
clicommand.inc
pharcommand.inc
phar.inc
Build complete.
Don't forget to run 'make test'.
Installing PHP CLI binary: /usr/local/php-5.5.30/bin/
Installing PHP CLI man page: /usr/local/php-5.5.30/php/man/man1/
Installing PHP FPM binary: /usr/local/php-5.5.30/sbin/
Installing PHP FPM config: /usr/local/php-5.5.30/etc/
Installing PHP FPM man page: /usr/local/php-5.5.30/php/man/man8/
Installing PHP FPM status page: /usr/local/php-5.5.30/php/php/fpm/
Installing PHP CGI binary: /usr/local/php-5.5.30/bin/
Installing PHP CGI man page: /usr/local/php-5.5.30/php/man/man1/
Installing build environment: /usr/local/php-5.5.30/lib/php/build/
Installing header files: /usr/local/php-5.5.30/include/php/
Installing helper programs: /usr/local/php-5.5.30/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php-5.5.30/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php-5.5.30/lib/php/
[PEAR] Archive_Tar - installed: 1.3.12
[PEAR] Console_Getopt - installed: 1.3.1
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.3
[PEAR] PEAR - installed: 1.9.5
Wrote PEAR system config file at: /usr/local/php-5.5.30/etc/pear.conf
You may want to add: /usr/local/php-5.5.30/lib/php to your php.ini include_path
/root/software/php-5.5.30/build/shtool install -c ext/phar/phar.phar /usr/local/php-5.5.30/bin
ln -s -f phar.phar /usr/local/php-5.5.30/bin/phar
Installing PDO headers: /usr/local/php-5.5.30/include/php/ext/pdo/
[root@zabbix_3.0 php-5.5.30]# make test --此步可不做,是进行测试
[root@zabbix_3.0 php-5.5.30]# ln -s /usr/local/php-5.5.30/ /usr/local/php
生成配置php配置文件
[root@zabbix_3.0 php-5.5.30]# pwd
/root/software/php-5.5.30
[root@zabbix_3.0 php-5.5.30]# cp php.ini-production /usr/local/php/lib/php.ini
[root@zabbix_3.0 php-5.5.30]# cd /usr/local/php/etc/
[root@zabbix_3.0 etc]# pwd
/usr/local/php/etc
[root@zabbix_3.0 etc]# cp php-fpm.conf.default php-fpm.conf
php启动测试
[root@zabbix_3.0 etc]# /usr/local/php/sbin/php-fpm
验证是否成功启动
[root@zabbix_3.0 etc]# netstat -lntup|grep php-fpm

验证LNMP安装是否成功。

相关推荐