LNMP下zabbix_server安装部署一
server:192.168.112.6 agent:192.168.112.7
-
安装nginx编译依赖包 gcc、pcre-devel、zlib-devel 如果需要https则加上openssl-devel。
yum install -y gcc pcre-devel zlib-devel openssl-devel
-
下载使用最新稳定版本nginx1.16.1。
wget http://nginx.org/download/nginx-1.16.1.tar.gz
-
对下载好的nginx进行解压,并进行配置编译安装并启用ssl加密模块。
tar -xf nginx-1.16.1.tar.gz && cd nginx-1.16.1 && ./configure --with-http_ssl_module && make && make install
-
下载安装PHP并使用mariadb数据库,并将php-fpm、mariadb设置为开机启动。
yum install -y php php-mysql php-gd php-xml libxml2-devel php-bcmath php-mbstring php-fpm mariadb-server && systemctl enable mariadb php-fpm
-
修改nginx 65-70行配置支持php。
vim /usr/local/nginx/conf/nginx.conf location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; }
-
检查配置文件是否正确并拷贝到/usr/sbin下。
/usr/local/nginx/sbin/nginx -t && cp /usr/local/nginx/sbin/nginx /usr/sbin/
-
启动php-fpm和mariadb并查看启动状态。
systemctl start php-fpm mariadb && systemctl status php-fpm mariadb
-
自己编辑一个php文件测试下是否运行正常。
rm -rf /usr/local/nginx/html/index/html && vim /usr/local/nginx/html/index.php <?php phpinfo(); ?>
-
启动nginx进行测试。
nginx && curl localhost/index.php
-
删掉该测试文件。
rm -rf /usr/local/nginx/html/index.php
-
从官网下载最新的zabbix4.4源码包。
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.4.0/zabbix-4.4.0.tar.gz
-
安装编译依赖包,如果有使用snmp协议监控其他设备请安装net-snmp-devel。
yum install -y net-snmp-devel curl-devel libevent-devel
-
解压zabbix安装包。
tar -xf zabbix-4.4.0.tar.gz && cd zabbix-4.4.0
-
配置参数这边使用server+agent的方式。
./configure --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl #编译过程中提示configure: error: MySQL library not found #缺少mysql的库文件我安装的是mariadb,应该安装mariadb-devel yum install -y mariadb-devel #再次执行配置编译 ./configure --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl *********************************************************** * Now run 'make install' * * * * Thank you for using Zabbix! * * <http://www.zabbix.com> * ***********************************************************
-
没有问题了,提示现在运行make install 。
make install
-
安装完成后其默认配置文件在/usr/local/etc 下,server和agent程序在/usr/local/sbin下,其他工具在/usr/local/bin下。
-
创建数据库,并导入其中。
mysql -e "create database zabbix charset utf8;"
-
创建zabbix账户。
mysql -e "grant all on zabbix.* to zabbix@'localhost' identified by 'lqinghua';"
-
进入zabbix源码包中,导入数据库。要注意先导表结构再导图片再导数据。
cd /root/zabbix-4.4.0/database/mysql mysql zabbix < schema.sql mysql zabbix < images.sql mysql zabbix < data.sql
-
将zabbix的php网页文件拷贝到nginx的网页目录中,并删除默认页面。
cp -a /root/zabbix-4.4.0/frontends/php/* /usr/local/nginx/html && rm -rf /usr/local/nginx/html/index.html
-
这里可以看到主页面但是这个不满足zabbix的php设置条件,现在通过修改/etc/php.ini 或者修改nginx配置文件来满足他的要求。
vim /usr/local/nginx/conf/nginx.conf http { ... fastcgi_buffers 8 16k; #缓存php生成的页面内容,8个16k fastcgi_buffer_size 32k; #缓存php生产的头部信息 fastcgi_connect_timeout 300; #连接PHP的超时时间 fastcgi_send_timeout 300; #发送请求的超时时间 fastcgi_read_timeout 300; #读取请求的超时时间 ... } vim /etc/php.ini .... date.timezone = Asia/Shanghai #设置时区 max_execution_time = 300 #最大执行时间,秒 post_max_size = 32M #POST数据最大容量 max_input_time = 300 #服务器接收数据的时间限制 memory_limit = 128M #内存容量限制 ...
-
修改后重启php-fpm 和nginx。
systemctl restart php-fpm && nginx -s reload
-
如果没有用缺少依赖包就是OK。
- 填写数据库账号密码。
- 报错了不能创建配置文件。
- 有三个解决方法一个是给html下的文件执行权限,另外一个就是下载这个配置文件到nginx下的html中的zabbix项目中的conf下,三就是直接修改conf文件夹中的zabbix.conf.php.example,那么我选择下载后上传到conf目录。
- 好的就看到登录页面了,默认用户Admin 密码zabbix
- 登陆进去。
这里就完成了server的安装。