AWS云服务器centos-6.9-zabbix-3.2.11服务端源码搭建-安装部署 (一) (赠送nginx-php源码搭建)
环境准备:
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
#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/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
公网ip/ceshi.php
这样就没什么问题了
然后我们测试zabbix页面(我是安装好了 你们默认应该是英文的。)
http://公网IP/zabbix/setup.php
第一步
第二步
条件检查,我之前都给你们写进php了,默认是应该没有问题。如果有那个报错NO,在php-fpm.conf按照我的格式添加就行。好的我们下一步:
第三步
输入数据库信息
第四步
照着输入吧。
然后完成后输入默认用户和密码
账号:Admin
密码:zabbix
有疑问的可以加我QQ641205699 备注:****博客
下一篇文章在记录在其他服务器按照zabbix客户端