系统:centos 6.8
软件包:mysql-5.6.35.tar.g nginx-1.10.3.tar.gz php-7.1.2.tar.gz
libmcrypt-2.5.7.tar.gz pcre-8.40.tar.gz
zabbix 安装使用LNMP 架构安装,以下为详细的安装过程:
首先搭建LNMP 架构平台
1.yum安装相关依赖包
yum -y install gcc gcc-c++ autoconf automake make cmake pcre pcre-devel openssl openssl-devel ncurses-devel libxml2-devel bison zlib-devel libtool-ltdl-devel libtool flex php-pear curl curl-devel php-pear libjpeg-devel
2.安装pcre , 支持rewrite ,只需解压即可,后面通过nginx 的 ./configure 指定目录 --with-pcre=/usr/local/src/pcre-8.40 去编译,如果使用yum 安装,需要使用 --with-pcre
tar xf pcre-8.40.tar.gz
3.源码安装nginx
tar xf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-pcre=/usr/local/src/pcre-8.40
make && make install
启动并计入防火墙规则,允许80通过
/usr/local/nginx/sbin/nginx
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
创建用户nginx
useradd -r -s /sbin/nologin nginx
编辑nginx 配置文件,支持php,修改如下位置
将nginx 服务加入开机启动
测试:
4.源码安装mysql
#解决依赖
yum -y install gcc gcc-c++ autoconf automake make cmake pcre pcre-devel openssl openssl-devel ncurses-devel libxml2-devel bison zlib-devel libtool-ltdl-devel libtool flex
#常见用户和组
groupadd mysql
useradd -r -s /sbin/nologin -g mysql mysql
mkdir -p /data/mysqldata
cd /usr/local/src
tar xf mysql-5.6.35.tar.gz
cd /usr/local/src/mysql-5.6.35
#cmake 编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysqldata -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGIEN=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make && make install
#数据库初始化
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysqldata
#修改属主和属组
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysqldata
#编辑配置文件
cd /usr/local/mysql
\cp -rf my.cnf /etc/my.cnf
#设置环境变量
PATH=$PATH:/usr/local/mysql/bin/
echo "export PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
source /etc/profile
#启动服务,设置开机自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld start
chkconfig --add mysqld
chkconfig mysqld on
#安全初始化设置
/usr/local/mysql/bin/mysql_secure_installation
5.编译安装php
#安装libcrm
tar xf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure --prefix=/usr/local/libmcrypt
make && make install
#添加动态链接库
vim /etc/ld.so.conf
include ld.so.conf.d/*.conf #此行原有
/usr/local/libmcrypt/lib #此行添加
/usr/local/mysql/lib #此行添加
运行:
ldconfig
echo 'ldconfig' >> /etc/rc.local
# 编译安装
tar -xf php-7.1.2.tar.gz
cd php-7.1.2
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local --with-freetype-dir=/usr/local --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local --with-libxml-dir=/usr/local --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --enable-mbstring --enable-fpm --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-mcrypt=/usr/local/libmcrypt --with-freetype-dir --enable-calendar --with-iconv-dir=/usr/local --with-gettext
make && make install
#为php提供配置文件
cp php.ini-production /usr/local/php/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#复制一份www.conf ,修改user=nobody group=nobody 为 nginx
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim usr/local/php/etc/php-fpm.d/www.conf
user = nginx
group = nginx
#修改nginx ,增加index.php 默认首页
location / {
root html;
index index.php index.html index.htm;
}
启动:
/usr/local/php/sbin/php-fpm
测试:echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/index.php
至此,LNMP 平台搭建完成
接着,我们继续安装zabbix
#安装zabbix
创建数据库,设置授权账号
create database zabbix;
grant all on zabbix.* to 'zabbix'@localhost identified by 'zabbix';
flush privileges;
2.解压zabbix , 将zabbix 安装包中自带的数据库文件导入新建zabbix 数据库中,按顺序,不然会出现问题
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/p_w_picpaths.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
3.编译安装zabbix
yum install -y net-snmp-devel net-snmp-config
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl
make install # 注意这里不需要make
#配置 zabbix Server
vim /usr/local/zabbix/etc/zabbix_server.conf
DBHost=localhost #默认注释掉了,直接取消注释即可
DBName=zabbix #数据库用户,我们授权的用户也是 zabbix
DBUser=zabbix #默认是 root,我们授权的用户是 zabbix
DBPassword=zabbix #密码我们授权的也是 zabbix
#配置agentd.conf,修改如下位置
UnsafeUserParameters=1
#创建zabbix 用户,如果 zabbix 用户不存在, 将以 root 运行,新建之后,如果 zabbix 存在,那么久直接可以用 zabbix 运行
useradd -r -s /sbin/nologin zabbix
#运行zabbix 服务器
/usr/local/zabbix/sbin/zabbix_server
#设置开机启动
echo /usr/local/zabbix/sbin/zabbix_server >> /etc/rc.local
#查看端口:
netstat -antup | grep zabbix
#编辑 php 页面控制文件
\cp -af /usr/local/src/zabbix-3.2.3/frontends/php/* /usr/local/nginx/html/
#重启ngxin
/usr/local/nginx/sbin/nginx -s reload
打开浏览器,输入ip 地址,开始配置zabbix,如下图:
按着错误提示,修改成要求的数据和时区:
安装时,会有几处报错,按要求修改vim /usr/local/php/php.ini
post_max_size = 16M #修改
max_execution_time = 300 #修改
max_input_time = 300 #修改
date.timezone = Asia/Shanghai #此行有注释,去注释并修改
#直接刷新页面无效的话,找到进程,杀掉,重新打开php,然后在刷新
#直接刷新页面无效的话,找到进程,杀掉,重新打开php,然后在刷新,就可以了
ps -ef |grep php
kill xxxxxx
/usr/local/php/sbin/php-fpm
输入数据库密码:
这步直接跳过,如下图:
出现下面问题是,下载提示的文件到指定的目录中,如下图:
安装完成之后启动就出现这个问题,这个是因为PHP 7.1.0类型强化,处理方法也很简单找到Zabbix WEB目录下include/func.inc.php文件
sed -i '/$last = strtolower(substr($val, -1));/a$val = substr($val,0,-1);' /usr/local/nginx/html/include/func.inc.php
到这里就安装完成了
#启动 agent 监控服务器本身
/usr/local/zabbix/sbin/zabbix_agentd
到这里,zabbix 就安装完成了,后续的具体监控配置,下节接续