1、环境需求
Linux系统:Centos6.5
nginx-1.14.2(源码安装)
php-7.2.17(源码安装)
mysql(本地YUM安装)
zabbix4.0.6(源码安装)
系统基础配置:
Centos6.5:
service iptables stop
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
YUM源(依赖包、mysql安装)
2、nginx-1.14.2安装配置
(1)依赖包安装
[root@test65-1 ~]# yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel
(2)用户及用户组创建
[root@test65-1 ~]# groupadd www
[root@test65-1 ~]# useradd -s /sbin/nologin -g www -M www
(3)编译安装nginx
#解压
[root@test65-1 soft]# tar -zxvf nginx-1.14.2.tar.gz
[root@test65-1 soft]# cd nginx-1.14.2
#指定安装位置、功能,并检查编译环境
[root@test65-1 nginx-1.14.2]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_gunzip_module --with-http_gzip_static_module --user=www --group=www
#编译程序
[root@test65-1 nginx-1.14.2]# make
#安装程序
[root@test65-1 nginx-1.14.2]# make install
(4)nginx启动
[root@test65-1 nginx-1.14.2]# /usr/local/nginx/sbin/nginx
Nginx平滑重启:不停止服务状态下重新加载配置
[root@test65-1 nginx-1.14.2]# /usr/local/nginx/sbin/nginx -s reload
检查配置错误:
[root@test65-1 nginx-1.14.2]# /usr/local/nginx/sbin/nginx -t
3、php-7.2.17安装配置
(1)依赖包安装
[root@test65-1 ~]# yum -y install gcc libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 bzip2-devel.x86_64 libXpm-devel gmp-devel icu libicu libicu-devel php-mcrypt libmcrypt libmcrypt-devel libxslt-devel libjpeg libjpeg-devel
(2)编译安装
[root@test65-1 soft]# tar -zxvf php-7.2.17.tar.gz
[root@test65-1 soft]# cd php-7.2.17
[root@test65-1 php-7.2.17]# ./configure --prefix=/usr/local/php --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-gd --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --without-pear --with-pcre-regex --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --with-openssl --with-fpm-user=www --with-fpm-group=www --with-libdir=/lib/x86_64-linux-gnu/--enable-ftp --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-iconv --with-xpm-dir=/usr
[root@test65-1 php-7.2.17]# make
[root@test65-1 php-7.2.17]# make install
(3)复制相关配置文件
[root@test65-1 php-7.2.17]# cp php.ini-development /usr/local/php/lib/php.ini
(4)设置php全局环境变量
修改/etc/profile,末尾增加如下配置:
PATH=$PATH:/usr/local/php/bin
export PATH
[root@test65-1 php-7.2.17] vi /etc/profile
重新加载/etc/profile配置
[root@test65-1 php-7.2.17]source /etc/profile
(5)配置php-fpm用service方式启动
[root@test65-1 php-7.2.17]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@test65-1 php-7.2.17]# cp /root/soft/php-7.2.17/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@test65-1 php-7.2.17]# chmod +x /etc/init.d/php-fpm
[root@test65-1 php-7.2.17]# service php-fpm start
4、安装zabbix-server
(1)安装依赖包
[root@test65-1 soft]# yum -y install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php-bcmath php-mbstring libcurl-devel php-gd php-xml php-mysql libevent libevent-devel
(2)安装zabbix-server
[root@test65-1 soft]# tar -zxvf zabbix-4.0.6.tar.gz
[root@test65-1 soft]# cd zabbix-4.0.6
[root@test65-1 zabbix-4.0.6]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --with-mysql=/usr/bin/mysql_config
[root@test65-1 zabbix-4.0.6]# make install
(3)创建用户及用户组
[root@test65-1 zabbix-4.0.6]# groupadd zabbix
[root@test65-1 zabbix-4.0.6]# useradd zabbix -g zabbix
(4)配置zabbix_server.conf
[root@test65-1 zabbix-4.0.6]# grep -Ev "^$|^[#;]" /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/zabbix_snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/var/lib/zabbix/externalscripts
LogSlowQueries=3000
(5)配置service方式启动zabbix_server、agent
[root@test65-1 zabbix-4.0.6]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
[root@test65-1 zabbix-4.0.6]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@test65-1 zabbix-4.0.6]# vi /etc/init.d/zabbix_server
#Zabbix-Directory
BASEDIR=/usr/local/zabbix
[root@test65-1 zabbix-4.0.6]# vim /etc/init.d/zabbix_agentd
# Zabbix-Directory
BASEDIR=/usr/local/zabbix
[root@test65-1 zabbix-4.0.6]# chmod +x /etc/init.d/zabbix_server
[root@test65-1 zabbix-4.0.6]# chmod +x /etc/init.d/zabbix_agentd
[root@test65-1 etc]# mkdir /var/log/zabbix
[root@test65-1 etc]# cd /var/log/
[root@test65-1 zabbix]# touch zabbix_server.log
[root@test65-1 zabbix]# chmod 777 zabbix_server.log
[root@test65-1 zabbix]# /etc/init.d/zabbix_server start
[root@test65-1 zabbix]# service zabbix_server restart
(6)修改配置
[root@test65-1 ~]# cd /usr/local/nginx/html/
[root@test65-1 html]# mkdir zabbix
[root@test65-1 html]# cp -r /root/soft/zabbix-4.0.6/frontends/php/* zabbix/
[root@test65-1 html]# cd zabbix/conf
[root@test65-1 conf]# cp zabbix.conf.php.example zabbix.conf.php
[root@test65-1 conf]# vi zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB, $HISTORY;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '192.168.0.200';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = '192.168.0.200';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
// Uncomment this block only if you are using Elasticsearch.
// Elasticsearch url (can be string if same url is used for all types).
//$HISTORY['url'] = [
// 'uint' => 'http://localhost:9200',
// 'text' => 'http://localhost:9200'
//];
// Value types stored in Elasticsearch.
//$HISTORY['types'] = ['uint', 'text'];
~
5、mysql安装(yum)
(1)yum安装
[root@test65-1 ~]# yum -y install mysql mysql-server mysql-devel
(2)启动mysql
[root@test65-1 ~]# service mysqld start
(3)创建zabbix库并授权
登录mysql,创建zabbix库,并授权任何地址都可以通过zabbix用户访问zabbix库,密码zabbix,刷新保存配置后退出。(zabbix密码授权需要使用哈希值)
[root@test65-1 ~]# mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
[root@test65-1 ~]# mysql
mysql> create database zabbix default character set=gbk;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY password 'zabbix' WITH GRANT OPTION;
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
mysql> select password('zabbix');
+-------------------------------------------+
| password('zabbix') |
+-------------------------------------------+
| *DEEF4D7D88CD046ECA02A80393B7780A63E7E789 |
+-------------------------------------------+
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY password '*DEEF4D7D88CD046ECA02A80393B7780A63E7E789' WITH GRANT OPTION;
mysql> flush PRIVILEGES;
mysql> commit;
mysql> quit
(4)导入数据模板
mysql> use zabbix;
mysql> source /root/soft/zabbix-4.0.6/database/mysql/schema.sql;
mysql> source /root/soft/zabbix-4.0.6/database/mysql/images.sql;
mysql> source /root/soft/zabbix-4.0.6/database/mysql/data.sql;
mysql> commit;
mysql> quit
6、修改php、nginx配置
(1)修改nginx配置文件nginx.ini
vi /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
[root@test65-1 ~] /usr/local/nginx/sbin/nginx -s reload
注:不修改以上配置,nginx无法识别php文件,nginx页面报错:403 forbidden.
(2)修改php配置文件php.ini
修改以下参数:
vi /usr/local/php/lib/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai
[root@test65-1 conf]# /etc/init.d/php-fpm restart
注:不修改以上内容,访问zabbix的setup.php页面,无法点击setup进入下一步。
7、访问zabbix_server监控页面
http://zabbix_serverip/zabbix/setup.php.
个人微信号:
个人公众号: