CentOS7.6部署Nginx+Zabbix监控系统
2020.03.30 TsengYia
---- http://tsengyia.blog.chinaunix.net/
系统环境:
CentOS 7.6.1810 [3.10.0-1062.1.1.el7.x86_64]
软件环境:
—— 以下组件来自CentOS官方源
nginx-1.16.1-1.el7
mariadb-server-5.5.64-1.el7
mariadb-5.5.64-1.el7
php-fpm-5.4.16-46.1.el7_7
php-mysql-5.4.16-46.1.el7_7
—— 以下组件来自zabbix官方源
zabbix-agent-4.0.19-1.el7
zabbix-server-mysql-4.0.19-1.el7
zabbix-web-4.0.19-1.el7
zabbix-web-mysql-4.0.19-1.el7
#################################################################
一、安装、启用LNMP组件
1. 装包
[root@mysvr1 ~]# yum -y install nginx mariadb-server mariadb php-fpm php-mysql
[root@mysvr1 ~]# mysql_secure_installation
#//安全设置数据库
.. .. 根据提示设好数据库管理密码
2. 配置
[root@mysvr1 ~]# vim /etc/nginx/nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
index index.php index.html;
#//支持默认首页index.php
include /etc/nginx/default.d/*.conf;
location / {
}
location ~ \.php$ {
#//支持fastcgi,可参考 /etc/nginx/nginx.conf.default 文件
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
#//注意修正这一行
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
3. 起服务
[root@mysvr1 ~]# systemctl restart nginx mariadb php-fpm
#//启动LNMP组件
[root@mysvr1 ~]# systemctl enable nginx mariadb php-fpm
#//设开机自启
4. 测试
[root@mysvr1 ~]# vim /usr/share/nginx/html/test.php
#//创建测试网页
$link = mysql_connect('localhost','root','密码');
#//测试数据库连接
if($link) echo 'Success!!';
#//如果成功,页面显示Success!!
else echo 'Failure';
#//如果失败,页面显示Failure!!
mysql_close();
#//关闭数据库连接
phpinfo();
#//列出PHP环境信息(5.4.16)
?>
++ 从浏览器访问 地址/ ,显示默认页
++ 从浏览器访问 地址/test.php ,显示 Success!! 及PHP环境
二、安装、配置zabbix监控系统
1. 装包
[root@mysvr1 ~]# yum -y install
[root@mysvr1 ~]# yum -y install zabbix-server zabbix-agent zabbix-web
2. 配置zabbix数据库
1)准备数据库及用户
[root@mysvr1 ~]# mysql -uroot -p密码
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'pwd@123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
2)导入初始化表格
[root@mysvr1 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.19/create.sql.gz | mysql -uzabbix -ppwd@123 zabbix
3. 配置Nginx和PHP
1)调整nginx设置,使用 /usr/share/zabbix 作为Web目录
++ 增加 fastcgi 调用的缓存设置,否则安装页面在连数据时可能会无法访问
++ 网页提示 File not found,在/var/log/nginx/error.log日志提示upstream sent too big header
[root@mysvr1 ~]# vim /etc/nginx/nginx.conf
server {
listen 80 default_server;
.. ..
root /usr/share/zabbix;
#//设置zabbix套件Web目录
index index.php index.html;
#//支持默认首页index.php
location / {
}
location ~ \.php$ {
#//支持fastcgi,可参考 /etc/nginx/nginx.conf.default 文件
fastcgi_buffer_size 128k;
#//增加此行
fastcgi_buffers 32 32k;
#//增加此行
# root html;
#//此行注释掉(用上面的/usr/share/zabbix目录)
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
}
[root@mysvr1 ~]# systemctl restart nginx
#//重启nginx服务
2)调整 php.ini 参数
[root@mysvr1 ~]# vim /etc/php.ini
.. ..
memory_limit = 128M
post_max_size = 16M
max_input_time = 300
max_execution_time = 300
date.timezone = Asia/Shanghai
.. ..
[root@mysvr1 ~]# systemctl restart php-fpm
#//重启php-fpm服务
4. 配置zabbix网页系统
++ 浏览器访问 地址/ ,可以看到zabbix安装页面,根据提示安装
++ 如果报错,请检查前面的配置是否正确
5. 配置、启动zabbix主控端服务
[root@mysvr1 ~]# vim /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=数据库密码
[root@mysvr1 ~]# systemctl enable zabbix-server --now
6. 配置、启动zabbix被控端服务
++ 如果本机也需要被监控的话
[root@mysvr1 ~]# vim /etc/zabbix/zabbix_agent.conf
DBName=zabbix
DBUser=zabbix
DBPassword=数据库密码
[root@mysvr1 ~]# systemctl enable zabbix-server --now
[root@mysvr1 ~]# systemctl enable zabbix-agent --now
三. 使用zabbix监控系统
++ 浏览器访问 地址/ ,以默认管理员Admin登录,密码zabbix
++ 解决监控图形乱码问题:
[root@mysvr1 ~]# yum -y install wqy-microhei-fonts
#//安装文泉驿-微黑字体
[root@mysvr1 ~]# mv /usr/share/zabbix/assets/fonts/graphfont.ttf{,.bak}
#//备份旧的绘图字体
[root@mysvr1 ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf
#//部署新的绘图字体
.. .. 其他管理操作略
#################################################################