zabbix配置nginx访问
由于最近等保要求除了服务器的80和443端口打开外,其他端口建议都关闭,而装了zabbix服务端的服务器之前是用http代理zabbix客户端的,并且nginx代理的服务已经占用了80和443端口,所以之前http使用的是9000端口。
我这里一开始是想用nginx代理http服务来解决这个问题,但经过测试后发现,虽然能代理过去,但是把http的9000端口对外网访问关闭后就会访问不了;故此方法达不到要求。那么就只有把zabbix迁移到nginx,用nginx来做代理,这样就可以把外网的9000端口关闭了;下面是操作记录:
1、经检测后发现没有安装php-fpm,所以第一步先把php-fpm安装好:
[root@dxm-beta available]# rpm -qa |grep php php-cli-5.6.40-12.el6.remi.x86_64 php-ldap-5.6.40-12.el6.remi.x86_64 php-gd-5.6.40-12.el6.remi.x86_64 php-pecl-jsonc-1.3.10-2.el6.remi.5.6.x86_64 php-pdo-5.6.40-12.el6.remi.x86_64 php-pecl-zip-1.15.2-1.el6.remi.5.6.x86_64 php-5.6.40-12.el6.remi.x86_64 php-bcmath-5.6.40-12.el6.remi.x86_64 php-xml-5.6.40-12.el6.remi.x86_64 php-common-5.6.40-12.el6.remi.x86_64 php-mysqlnd-5.6.40-12.el6.remi.x86_64 php-mbstring-5.6.40-12.el6.remi.x86_64
#yum list installed | grep php --检测php已安装的包
#追加CentOS 6.5的epel及remi源。 # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
#使用yum list命令查看可安装的包(Packege) # yum list --enablerepo=remi --enablerepo=remi-php56 | grep php
#yum源配置好了,下一步就安装PHP5.6 #yum install --enablerepo=remi --enablerepo=remi-php56 php-fpm
安装完后再进行查看:
启动php-fpm
#service php-fpm start
2、配置nginx:
server { listen 80; server_name zabbix.xxx.com; charset utf-8; client_max_body_size 8m; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log error; if ($host = 'zabbix.xxx.com') { rewrite ^/(.*)$ https://zabbix.xxx.com/$1 permanent; } } server { listen 443 ssl; server_name zabbix.xxx.com; index index.php; root /var/www/html/zabbix; include /etc/nginx/ssl.conf; charset utf-8; client_max_body_size 8m; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log error; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
语法检测无误后,就可更新nginx配置文件,进行访问验证是否配置正确,正确后就可关闭外网9000端口了。