安裝環(huán)境
系統(tǒng): centos 6.8
軟件:
- nginx/1.10.3
- mysql/5.6.35
- php/7.1.2
- zabbix/3.2.5
安裝步驟詳情參考如下鏈接
http://www.reibang.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的進(jìn)程間通信有兩種方式,一種是TCP,一種是UNIX Domain Socket.
其中TCP是IP加端口,可以跨服務(wù)器.而UNIX Domain Socket不經(jīng)過網(wǎng)絡(luò),只能用于nginx跟php-fpm都在同一服務(wù)器的場(chǎng)景.用哪種取決于你的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是一個(gè)文件,由php-fpm生成,類型是srw-rw----.
UNIX Domain Socket可用于兩個(gè)沒有親緣關(guān)系的進(jìn)程,是目前廣泛使用的IPC機(jī)制,
比如: X Window服務(wù)器和GUI程序之間就是通過UNIX Domain Socket通訊的.這種通信方式是發(fā)生在系統(tǒng)內(nèi)核里而不會(huì)在網(wǎng)絡(luò)里傳播.UNIX Domain Socket和長(zhǎng)連接都能避免頻繁創(chuàng)建TCP短連接而導(dǎo)致TIME_WAIT連接過多的問題.對(duì)于進(jìn)程間通訊的兩個(gè)程序,UNIX Domain Socket的流程不會(huì)走到TCP那層,直接以文件形式,以stream socket通訊.如果是TCP Socket,則需要走到IP層,對(duì)于非同一臺(tái)服務(wù)器上,TCP Socket走的就更多了.
UNIX Domain Socket:
nginx <=> socket <=> php-fpm
TCP Socket(本地回環(huán)):
nginx <=> socket <=> TCP/IP <=> socket <=> php-fpm
TCP Socket(nginx和php-fpm位于不同服務(wù)器):
nginx <=> socket <=> TCP/IP <=> 物理層 <=> 路由器 <=> 物理層 <=> TCP/IP <=> socket <=> php-fpm
比如:mysql命令行客戶端連接mysqld服務(wù)也類似有這兩種方式:
使用Unix Socket連接(默認(rèn)):
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
- 安裝完成之后啟動(dòng)就出現(xiàn)這個(gè)問題洲炊,這個(gè)是因?yàn)镻HP 7.1.0類型強(qiáng)化,處理方法也很簡(jiǎn)單找到Zabbix WEB目錄下include/func.inc.php文件继控,注意地址寫正確求泰,如果按照先前的地址來安裝的話卤唉,這個(gè)文件目錄
/data/site/monitor.ttlsa.com/zabbix/include/func.inc.php
命令行中執(zhí)行:
sed -i '/$last = strtolower(substr($val, -1));/a$val = substr($val,0,-1);' /data/site/monitor.ttlsa.com/zabbix/include/func.inc.php