zabbix的安装及常见问题汇集

安装环境

系统: centos 6.8
软件:

  • nginx/1.10.3
  • mysql/5.6.35
  • php/7.1.2
  • zabbix/3.2.5

安装步骤详情参考如下链接

http://www.jianshu.com/p/229da51f66c8

安装过程遇到的问题

  • nginx.conf配置如下
server {
        listen 80;
        server_name arima.online www.arima.online;
        access_log /data/logs/nginx/monitor.ttlsa.com.access.log main;
        index index.html index.php index.html;
        root /data/site/monitor.ttlsa.com;

        location / {
            try_files $uri $uri/ /index.php?$args;
        }

        location ~ ^(.+.php)(.*)$ {
            fastcgi_pass unix:/dev/shm/php-cgi.sock;
            fastcgi_split_path_info ^(.+.php)(.*)$;
            include fastcgi.conf;
            fastcgi_index index.php;
            fastcgi_param PATH_INFO $fastcgi_path_info;
        }
  }

注意:
查看php-fpm.conf配置的listen=/dev/shm/php-cgi.sock
fastcgi_pass unix:/dev/shm/php-cgi.sock;

说明如下:

nginx和php-fpm的进程间通信有两种方式,一种是TCP,一种是UNIX Domain Socket.
其中TCP是IP加端口,可以跨服务器.而UNIX Domain Socket不经过网络,只能用于nginx跟php-fpm都在同一服务器的场景.用哪种取决于你的php-fpm配置:
方式1:
php-fpm.conf: listen = 127.0.0.1:9000
nginx.conf: fastcgi_pass 127.0.0.1:9000;
方式2:
php-fpm.conf: listen = /tmp/php-fpm.sock
nginx.conf: fastcgi_pass unix:/tmp/php-fpm.sock;
其中php-fpm.sock是一个文件,由php-fpm生成,类型是srw-rw----.

UNIX Domain Socket可用于两个没有亲缘关系的进程,是目前广泛使用的IPC机制,
比如: X Window服务器和GUI程序之间就是通过UNIX Domain Socket通讯的.这种通信方式是发生在系统内核里而不会在网络里传播.UNIX Domain Socket和长连接都能避免频繁创建TCP短连接而导致TIME_WAIT连接过多的问题.对于进程间通讯的两个程序,UNIX Domain Socket的流程不会走到TCP那层,直接以文件形式,以stream socket通讯.如果是TCP Socket,则需要走到IP层,对于非同一台服务器上,TCP Socket走的就更多了.

UNIX Domain Socket:
nginx <=> socket <=> php-fpm
TCP Socket(本地回环):
nginx <=> socket <=> TCP/IP <=> socket <=> php-fpm
TCP Socket(nginx和php-fpm位于不同服务器):
nginx <=> socket <=> TCP/IP <=> 物理层 <=> 路由器 <=> 物理层 <=> TCP/IP <=> socket <=> php-fpm

比如:mysql命令行客户端连接mysqld服务也类似有这两种方式:
使用Unix Socket连接(默认):
mysql -uroot -p --protocol=socket --socket=/tmp/mysql.sock
使用TCP连接:
mysql -uroot -p --protocol=tcp --host=127.0.0.1 --port=3306

  • 使用nginx需要修改php.ini(apache可以不修改),否则zabbix server安装好后不允许登录,
    nginx文件类型异常漏洞解析带来的问题
cgi.fix_pathinfo=0
改
cgi.fix_pathinfo=1
  • 安装完成之后启动就出现这个问题,这个是因为PHP 7.1.0类型强化,处理方法也很简单找到Zabbix WEB目录下include/func.inc.php文件,注意地址写正确,如果按照先前的地址来安装的话,这个文件目录
    /data/site/monitor.ttlsa.com/zabbix/include/func.inc.php
    命令行中执行:
sed -i '/$last = strtolower(substr($val, -1));/a$val = substr($val,0,-1);' /data/site/monitor.ttlsa.com/zabbix/include/func.inc.php
zabbix的安装及常见问题汇集_第1张图片
image.png

你可能感兴趣的:(zabbix的安装及常见问题汇集)