实验平台的规划:

  • 192.168.75.130:部署lnmp+zabbix_server
  • 192.168.75.131:部署zabbix_agent

第一步:192.168.75.130–>lnmp+zabbix_server搭建

  • 关闭核心的安全防护:
  • 关闭selinux和防火墙
  • 配好一个可用的yum源
#关闭防火墙和selinux-->目前每个实验都是一定要关闭的,因为还没有学防火墙
[root@node0 ~]# systemctl stop firewalld.service 
[root@node0 ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@node0 ~]# setenforce 0
setenforce: SELinux is disabled

#直接安装必要的软件包
[root@node0 ~]# yum -y install nginx php php-devel php-fpm php-mysql mariadb mariadb-server mariadb-devel

安装zabbix的对应的包

  • 本次选择zabbix40-web:这个提供网站代码
  • zabbix40-web-mysql:提供与mysql连接对应的软件
#这里可以先查询一下yum源提供了哪些的zabbix的包
[root@node0 ~]# yum list zabbix*
.........
zabbix40-web.noarch 
zabbix40-web-mysql.noarch  
.........

#直接安装zabbix的网站代码包
[root@node0 ~]# yum -y install zabbix40-web zabbix40-web-mysql

#查看一下zabbix40的网站代码路径-->找到路径给到nginx的发布目录
[root@node0 ~]# rpm -ql zabbix40-web
............
/usr/share/zabbix/users.php
/usr/share/zabbix/zabbix.php

配置nginx目录的路径

  • 因为zabbix并没有在nginx的默认发布目录
  • 因此我们需要修改nginx的发布路径
#修改配置文件路径前一定要备份
[root@node0 ~]# cp -a /etc/nginx/nginx.conf{,.bak}
[root@node0 ~]# cp -a /etc/nginx/nginx.conf.default /etc/nginx/conf.d/default.conf
	#然后修改配置文件
[root@node0 ~]# vim /etc/nginx/default.d/default.conf 
    server {
.............
        location / {
        		#这里修改第一个路径-->并且增加一个index.php
            root   /usr/share/zabbix;
            index  index.php index.html index.htm;
        }
..........
				#在同一个server里面打开php
				#同样的修改两处-->第一个是root的路径,第二就是fastcgi_gram
        location ~ \.php$ {
            root           /usr/share/zabbix;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
.......
#检查一下nginx的配置
[root@node0 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

配置数据库

  • 这里使用的mariadb
  • 创建数据库
#启动数据库
[root@node0 ~]# systemctl start mariadb.service 

#进入数据库
[root@node0 ~]# mysql

#创建数据库--》这里是故意这么创建的;目的就是为了突出报错提示,后面会有报错解决
MariaDB [(none)]> create database zabbix charset utf8;
Query OK, 1 row affected (0.00 sec)
	#授权数据库
MariaDB [(none)]> grant all on zabbix.* to "zabbix"@localhost identified by "123456";
Query OK, 0 rows affected (0.00 sec)
	#刷新数据
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye

安装zabbix的初始数据

  • 这一步用于把zabbix的数据导入到数据库
#可以查询一下
[root@node0 ~]# yum list zabbix*
已加载插件:fastestmirror
...........
zabbix40-dbfiles-mysql.noarch
................

#直接安装
[root@node0 ~]# yum -y install zabbix40-dbfiles-mysql.noarch

#看一下zabbix提供的初始数据
[root@node0 ~]# rpm -ql zabbix40-dbfiles-mysql.noarch

#导入的数据--->需要一步一步按照顺序来
[root@node0 ~]# mysql -uzabbix -p123456 zabbix </usr/share/zabbix-mysql/schema.sql
[root@node0 ~]# mysql -uzabbix -p123456 zabbix </usr/share/zabbix-mysql/images.sql 
[root@node0 ~]# mysql -uzabbix -p123456 zabbix </usr/share/zabbix-mysql/data.sql 

#到这里为止--->nginx也可以顺势起来
[root@node0 ~]# nginx
[root@node0 ~]# systemctl start php-fpm
[root@node0 ~]#

浏览器直接访问:http://192.168.75.130/setup.php

这里可以直接输入ip–>直接跳到zabbix的安装页面

windows 安装zabbix server_运维

选择下一步后–>进入zabbix的提前检测

windows 安装zabbix server_php_02

这里我们遇见了第一个报错

  • 这个报错就是php的配置文件设置的参数没有调对;直接修改配置文件就可以了

解决如下:

#修改配置文件的设置-->复制上面的报错信息--> 根据报错信息来修改
[root@node0 ~]# vim /etc/php.ini 
............
 672 post_max_size = 16M		#要求是16M,默认是8M
...........
 384 max_execution_time = 300		#改为300
.....
 394 max_input_time = 300			#改为300
............
 879 date.timezone = Asia/Shanghai		#时区改为亚洲上海
...........

#然后重启php
[root@node0 ~]# systemctl restart php-fpm

修改后然后刷新页面;报错即可解决

  • 有时候绿一点也不是什么坏事
    然后点击下一步–>继续安装
  • 下一步就是要配置mariadb服务器
    点击下一步–>又发现报错了
  • 这个报错是后端nginx的cgi出现问题;
  • 前端的内容比较大,我们就要给与比较大的缓存空间
    这里就要修改nginx的配置文件了;
`
[root@node0 ~]# vim /etc/nginx/conf.d/default.conf 
........
        location ~ \.php$ {
            root           /usr/share/zabbix;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_buffer_size 64k;			#多增加这两个
            fastcgi_buffers 32 64k;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
...............

#以免请求的数据不完整

#重启nginx
[root@node0 ~]# nginx -s reload

然后再次刷新web页面

  • 这里又会发现数据库配置同样出现了问题
  • 我们之前创建数据库的时候是故意这么让报错信息出现的
    这里就是因为我们创建库的时候没有指定它的字符级别
  • 可以直接查看细节能够看到这个报错:Unsupported charset or collation for tables:
#首先登入数据库
[root@node0 ~]# mysql
	#然后删除原来的数据库
MariaDB [(none)]> drop database zabbix;
Query OK, 144 rows affected (0.05 sec)

#然后重新走一遍创建的流程
	#创建数据库
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
	#添加zabbix授权
MariaDB [(none)]>  grant all on zabbix.* to "zabbix"@localhost identified by "123456";
Query OK, 0 rows affected (0.00 sec)
	#刷新权限表格
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
	#退出
MariaDB [(none)]> exit
	#重新导入数据
[root@node0 ~]# mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/schema.sql

到这里回到web页面再次刷新

windows 安装zabbix server_php_03

然后在看一眼信息

windows 安装zabbix server_nginx_04

看到这里基本上zabbix的安装已经完成

windows 安装zabbix server_nginx_05


到这里能够看到zabbix的登陆页面

  • 默认的账号是:Admin
  • 密码是:zabbix

    最后看到这个页面代表部署成功