AWS云服务器centos-6.9-zabbix-3.2.11服务端源码搭建-安装部署 (一) (赠送nginx-php源码搭建)

    能完成这次搭建过程,要非常感谢惨绿少年qq群(173719483)里各位仁兄,@惨绿少年,@初檬,@沈阳-小武,@海口-老男人等等,尤其是@海口-老男人 yum大神,最后给我说了一句记得教程搭建好了要记得发给他一份。
   废话不多说,新的一家公司准备监控主机层参数,nginx参数,tomcat等等,后面我在继续更新文章,我们先来搭建服务器端。

    环境准备:

    service端-aws-云服务器-centos6.9版本

   需要的软件:

    nginx-1.6.3

    php-5.6.29

   mysql-5.6之前搭建好的。

   zabbix-3.2.11

    安装目录:

    /opt/zabbix-3.2.11

    软件放置目录

   /opt/software

    占用端口:

    zabbix-server  10051

    zabbix-agentd 10050

    mysql 3306

    php 9000

    nginx 80

     如lnmp环境已经搭建好的直接跳到步骤三 zabbix安装


一:nginx源码安装

#1切换目录

cd /opt/software

#2.Nginx下载地址:

wget http://nginx.org/download/nginx-1.6.3.tar.gz

#3.依赖安装

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

#4.创建Nginx用户和组
groupadd www
useradd www -s /sbin/nologin -M -g www

#5.解压Nginx
tar zxvf nginx-1.6.3.tar.gz

cd nginx-1.6.3

6.编译软件

./configure --prefix=/opt/nginx-1.6.3 --sbin-path=/opt/nginx-1.6.3/sbin/nginx --conf-path=/opt/nginx-1.6.3/conf/nginx.conf --error-log-path=/opt/nginx-1.6.3/log/error.log --http-log-path=/opt/nginx-1.6.3/log/access.log --pid-path=/opt/nginx-1.6.3/nginx.pid --lock-path=/tmp/nginx.lock --user=www --group=www --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/opt/nginx-1.6.3/tmp/client/ --http-proxy-temp-path=/opt/nginx-1.6.3/tmp/proxy/ --http-fastcgi-temp-path=/opt/nginx-1.6.3/tmp/fcgi/ --http-uwsgi-temp-path=/opt/nginx-1.6.3/tmp/uwsgi --http-scgi-temp-path=/opt/nginx-1.6.3/tmp/scgi --with-pcre --with-file-aio


make && make install


#7 配置参数nginx.conf
vi /opt/nginx/conf/nginx.conf

daemon on;
user www www;
worker_processes  1;


events {
    use epoll;
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #sendfile        on;
    #keepalive_timeout  65;
    
    server {
       listen       80;
       server_name  选择你的公网ip;
 
       #charset koi8-r;
       #access_log logs/host.access.log  main;
        access_log /opt/nginx-1.6.3/logs/nginxaccess.log ;
        index index.php index.html index.html;
 root /opt/nginx-1.6.3/html;


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




        location ~* \.php$ {
root /opt/nginx-1.6.3/html;
                include fastcgi_params;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }


}
}

保存退出:wq!

我们先暂时不启动

二 php安装
注意:PHP版本必须大于5.3.0,否则无法通过ZABBIX安装验证
#1切换目录
cd /opt/software
下载地址:http://php.net/downloads.php


#1切换目录
cd /opt/software


#2 php下载地址:
wget http://ee1.php.net/distributions/php-5.6.29.tar.gz


#3 依赖安装
PHP依赖包包安装
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pcre pcre-devel php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc


#4 解压php
tar -zxvf php-5.6.29.tar.gz
cd php-5.6.29


#5 编译软件
./configure --prefix=/opt/php-5.6.29 --with-config-file-path=/opt/php-5.6.29/etc/  --with-bz2 --with-curl --with-libdir=lib64 --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --with-libxml-dir=/usr/local --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-gettext --with-zlib --with-gd --enable-sockets --disable-ipv6 --enable-gd-native-ttf --enable-mbstring --enable-bcmath --enable-calendar --enable-dom --enable-xml --enable-fpm -with-ldap --with-php-config=/opt/php-5.6.29/bin/php-config
 
 make && make install
 
 
#6 配置PHP


安装之后,php.ini默认不存在。如果需要设置php.ini选项,通过phpinfo()函数
查看php.ini默认存放路径,将php源码路径下的php.ini-recommended或php.ini-production复制到其目录下更名为php.ini
cd /opt/software/php-5.6.29
cp php.ini-production /opt/php-5.6.29/etc/php.ini
cp /opt/php-5.6.29/php.ini-production /etc/php.ini




# vi /etc/php.ini
打开php.ini配置文件,修改或添加以下参数为如下值,否则ZABBIX安装时会验证不过去。


max_execution_time = 300
memory_limit =256M         //最低要求为128M,如果需要频繁调用API,这里建议设置大一些,可以根据httpd进程的                              负载做适当调整
post_max_size = 16M
max_input_time = 300
date.timezone = PRC
session.auto_start = 0
mbstring.func_overload = 2


=======或者这样======
复制代码直接在界面执行
sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php.ini
sed -i 's/;date.timezone =/date.timezone =PRC/' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 600/g' /etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 600/g' /etc/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 256M/g' /etc/php.ini


#7 复制php配置文件 
###特殊说明  
这个跟上面配置还是有关系,我输入上面参数之后发现zabbix安装界面还是会报错,但是写入php-fpm.conf就没什么问题



cp /opt/php-5.6.29/etc/php-fpm.conf.default /opt/php-5.6.29/etc/php-fpm.conf
vi /opt/php-5.6.29/etc/php-fpm.conf
-----------------------------------------
pid = run/php-fpm.pid
error_log = log/php-fpm.log
daemonize = yes
user = www
group = www


##添加到最后
php_admin_value[post_max_size]=16M
php_admin_value[max_execution_time]=300
php_admin_value[always_populate_raw_post_data]=-1
php_admin_value[extension]= 'ldap.so'
php_admin_value[date.timezone]= 'Asia/Shanghai'




#8 设置 php-fpm 启动方式和开机启动

cp /opt/software/php-5.6.29/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
service php-fpm start

netstat -lnt | grep 9000


三 zabbix安装

我们这源码编译zabbix-3.2.11

#1切换目录
cd /opt/software

#2 zbbix下载地址:

wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.11/zabbix-3.2.11.tar.gz

或者你可以打开官网下载

https://www.zabbix.com/download_sources#tab:32


#3 依赖安装
zabbix依赖包包安装

yum install -y gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel fping  net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel


#4 解压软件

tar zxvf zabbix-3.2.11.tar.gz

cd zabbix-3.2.11


#5 编译安装

./configure --prefix=/opt/zabbix-3.2.11 --enable-server --enable-agent --with-net-snmp --with-libcurl --with-mysqli=mysqlnd --with-mysql=mysqlnd


make && make install


#6 创建zabbix用户和组

创建zabbix用户和组
groupadd zabbix

useradd -g zabbix zabbix -s /sbin/nologin


#7 创建zabbix库和导入sql数据

因之前装了mysql-5.6的,所以我直接进入数据库

创建库指定utf8编码格式

mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)


分配用户和权限(这个单独自己记住了)

mysql> grant all privileges on zabbix.* to [email protected] identified by 'zabbix';

Query OK, 0 rows affected (0.00 sec)


  进入库

use zabbix;


导入脚本文件到zabbix数据库(网上说顺序不能错,因为会有对应主键之类,我们还是照着顺序导入吧)

source /soft/zabbix/zabbix-3.2.11/database/mysql/schema.sql 
source /soft/zabbix/zabbix-3.2.11/database/mysql/images.sql 

source /soft/zabbix/zabbix-3.2.11/database/mysql/data.sql 

执行完成后退出数据库

exit


#8 编辑zabbix_server配置文件修改如下内容

查看一下现有参数

egrep -v "^#|^$" /opt/zabbix-3.2.11/etc/zabbix_server.conf 

vi /opt/zabbix-3.2.11/etc/zabbix_server.conf


LogFile=/opt/zabbix-3.2.11/log/zabbix_server.log  #指定日志路径
DBHost=localhost                                                    #连接ip或者本地
DBName=zabbix                                                      #数据库名
DBUser=zabbix                                                         #数据库用户(之前授权的)
DBPassword=zabbix                                                 #数据库密码
AlertScriptsPath=/opt/zabbix-3.2.11/alertscripts    #脚本调用目录

保存退出:wq!

创建自定义脚本目录,设置权限,目录下的脚本可以被zabbix调用

mkdir /opt/zabbix-3.2.11/alertscripts

chown zabbix.zabbix -R  /opt/zabbix-3.2.11


#9 编辑zabbix_agentd配置文件

查看下目前的参数

# egrep -v "^$|^#" /opt/zabbix-3.2.11/etc/zabbix_agentd.conf

vi /opt/zabbix-3.2.11/etc/zabbix_agentd.conf

LogFile=/opt/zabbix-3.2.11/log/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1

Hostname=Zabbix server


#10 拷贝zabbix服务端、客户端启动脚本到/etc/init.d目录下

cd /opt/software/zabbix-3.2.11/misc
cp init.d/tru64/zabbix_server /etc/init.d/
#####cp init.d/tru64/zabbix_agentd /etc/init.d/   ##这个可自选,客户端用户监控自己的 我就没安装。

chmod +x /etc/init.d/zabbix_*


#11 修改zabbix_server服务端,zabbix_agentd客户端启动脚本,使其支持chkconfig配置服务

vim /etc/init.d/zabbix_server
#!/bin/sh下面一行添加
#chkconfig: 345 95 95
#description: Zabbix_Server
DAEMON=/opt/zabbix-3.2.11/sbin/zabbix_server

保存退出:wq!


###客户端可选#####

vim /etc/init.d/zabbix_agentd
#!/bin/sh下面一行添加
#chkconfig: 345 95 95
#description: Zabbix_agentd

DAEMON=/opt/zabbix-3.2.11/sbin/zabbix_server

保存退出:wq!


#12 添加linux系统zabbix的tcp,udp端口

vi /etc/services

在最后添加

zabbix-agent 10050/tcp # Zabbix Agent###客户端可选
zabbix-agent 10050/udp # Zabbix Agent###客户端可选

zabbix-trapper 10051/tcp # Zabbix Trapper##服务端

zabbix-trapper 10051/udp # Zabbix Trapper##服务端

保存退出:wq!


#13 复制zabbix web代码到站点目录
cp -ar /opt/software/zabbix-3.2.11/frontends/php/*  /opt/nginx-1.6.3/html/zabbix/

chown  -R www.www /opt/nginx-1.6.3/


#14 修改zabbix web字体

然后通过Xftp或者sambaWindows的共享方式,把字体复制到指定路径下。
这个楷体常规的字体,复制到CentOS下就变成了simkai.ttf

mkdir -p /usr/share/fonts/simkai/

从windows导入到rz命令

cd /usr/share/fonts/simkai/

rz

vim /opt/zabbix-3.2.11/include/defines.inc.php
define('ZBX_FONTPATH',   '/usr/share/fonts/simkai');  // where to search for font (GD > 2.0.18)

define('ZBX_GRAPH_FONT_NAME',             'simkai'); // font file name

保存退出:wq!


#15启动服务

service php-fpm start

/opt/nginx-1.6.3/sbin/nginx

/etc/init.d/zabbix_server start   #服务器端

/etc/init.d/zabbix_agentd start #客户端可选


#16检查各软件方式状态

ps -ef|grep 软件名称

netstat -nltp | grep 端口

实例:

ps -ef|grep nginx

netstat -nltp | grep 80


补充:还要检查一下php是否能正常访问


##v1检查php正常运行 我们在web站点目录下创建一个探针做测试

vi /opt/nginx-1.6.3/html/ceshi.php

<?php phpinfo();?>

保存退出:wq!

给这2个文件授权和分配用户

chown -R www.www  /opt/nginx-1.6.3/html/

chmod -R 755  /opt/nginx-1.6.3/html/


##v2然后在网页访问

公网ip/index.html

AWS云服务器centos-6.9-zabbix-3.2.11服务端源码搭建-安装部署 (一) (赠送nginx-php源码搭建)

公网ip/ceshi.php


AWS云服务器centos-6.9-zabbix-3.2.11服务端源码搭建-安装部署 (一) (赠送nginx-php源码搭建)


这样就没什么问题了


然后我们测试zabbix页面(我是安装好了 你们默认应该是英文的。)

http://公网IP/zabbix/setup.php

第一步

AWS云服务器centos-6.9-zabbix-3.2.11服务端源码搭建-安装部署 (一) (赠送nginx-php源码搭建)


第二步

条件检查,我之前都给你们写进php了,默认是应该没有问题。如果有那个报错NO,在php-fpm.conf按照我的格式添加就行。好的我们下一步:

AWS云服务器centos-6.9-zabbix-3.2.11服务端源码搭建-安装部署 (一) (赠送nginx-php源码搭建)


第三步

输入数据库信息

AWS云服务器centos-6.9-zabbix-3.2.11服务端源码搭建-安装部署 (一) (赠送nginx-php源码搭建)


第四步

照着输入吧。


然后完成后输入默认用户和密码

账号:Admin

密码:zabbix


有疑问的可以加我QQ641205699  备注:****博客

下一篇文章在记录在其他服务器按照zabbix客户端