系統: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 就安裝完成了,後續的具體監控配置,下節接續