Zabbix使用Nginx做前端部署安装
warning:
这篇文章距离上次修改已过1246天,其中的内容可能已经有所变动。
zabbix官网默认是使用apache做前端安装部署的,个人觉得使用nginx效果也很好,于是尝试用nginx来部署一下zabbix4,
具体方法如下,我来使用源码安装配置。
1.安装依赖库
yum install -y gcc wget vim unixODBC-devel net-snmp-devel libxml2-devel libcurl-devel libevent-devel curl-devel gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
2.安装nginx
下载安装源码包:
wget https://nginx.org/download/nginx-1.18.0.tar.gz
解压编译安装
#根目录使用ls命令可以看到下载的nginx压缩包,然后解压
tar -zxvf nginx-1.18.0.tar.gz
#解压后进入目录
cd nginx-1.18.0
#使用默认配置
./configure
#编译安装
make && make install
#查找安装路径,默认都是这个路径
whereis nginx
nginx: /usr/local/nginx #配置文件和web root目录都位于这这目录中
#启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx #启动
./nginx -s stop #停止,直接查找nginx进程id再使用kill命令强制杀掉进程
./nginx -s quit #退出停止,等待nginx进程处理完任务再进行停止
./nginx -s reload #重新加载配置文件,修改nginx.conf后使用该命令,新配置即可生效
#重启nginx,建议先停止,再启动
./nginx -s stop
./nginx
安装完成后,开启nginx服务,测试主页能否打开。
3.安装php及扩展
yum -y install php php-bcmath php-mbstring php-mysql php-gd php-ldap php-xml php-fpm
4.安装mysql(mariadb)
yum -y install mariadb mariadb-server mariadb-devel
5.启动php-fpm和mysql,并设置开机启动
systemctl start php-fpm
systemctl enable php-fpm
systemctl start mariadb
systemctl enable mariadb
6.新建zabbix账户和组
groupadd zabbix
useradd -g zabbix zabbix
7.下载zabbix4.4源码包
wget https://cdn.zabbix.com/zabbix/sources/oldstable/4.4/zabbix-4.4.10.tar.gz
8.编译安装zabbix,先解压再编译安装
tar -zxvf zabbix-4.4.10.tar.gz
cd zabbix-4.4.10
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make install
info:如果编译和安装过程中没有报错,则说明成功。
9.初始化mysql数据库
初始化mysql数据库,并配置root用户密码:
mysql_secure_installation
info:注意:在
Enter current passwdord for root
处,直接回车键即可,因为centos7上初始安装的mysql的默认root用户密码为空。然后输入
y
为root
用户配置密码root123
,并刷新相关权限。Remove anonymous users? [Y/n] y #删除匿名用户,是
Disallow root login remotely? [Y/n] n #是否禁用root用户远程登录,选择否,不禁用
Remove test database and access to it? [Y/n] y #是否删除测试数据库,是
Reload privilege tables now? [Y/n] y #重新加载权限列表,是
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB! #配置完成
10.创建zabbix数据库
创建zabbix数据库,及其用户zabbix
,密码zabbix123
mysql -uroot -proot123 -e "create database zabbix default character set utf8 collate utf8_bin;"
mysql -uroot -proot123 -e "grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix123';"
11.导入zabbix初始表结构
mysql -uzabbix -pzabbix123 -hlocalhost zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix123 -hlocalhost zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix123 -hlocalhost zabbix < database/mysql/data.sql
12.为Zabbix server配置数据库
编辑zabbix_server配置文件
vim /usr/local/etc/zabbix_server.conf
修改数据库密码为如下字段,并取消注释:
DBPassword=zabbix123
13.修改php配置
修改php.ini配置文件,并修改为如下数值,以满足zabbix运行要求。
vim /etc/php.ini
post_max_size = 32M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
14.复制zabbix前端文件到nginx web目录
cp -r frontends/php/* /usr/local/nginx/html
15.配置nginx支持php
修改nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf
找到location的添加位置,在后面添加下面这个location,如果已有被注释掉了,取消注释即可。
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #fastcgi_param行改成这个。
include fastcgi_params;
}
并在配置web首页中加入index.php支持。
location / {
root html;
index index.php index.html index.htm;
}
然后重新加载nginx,重启php
/usr/local/nginx/sbin/nginx -s reload
systemctl restart php-fpm
16.启动zabbix_server和zabbix_agent
zabbix_server
zabbix_agentd
17.配置Zabbix前端
打开http://服务器IP/
按照之前的方法配置,部署安装zabbix,来配置。
info:在最后一步中,需要下载zabbix.conf.php文件
上传到服务器/usr/local/nginx/html/conf/目录中。
上传到服务器/usr/local/nginx/html/conf/目录中。