首页 » 网站推广 » zabbix安装php编译技巧_Zabbix 6 系列进修 06编译办法安装

zabbix安装php编译技巧_Zabbix 6 系列进修 06编译办法安装

访客 2024-11-17 0

扫一扫用手机浏览

文章目录 [+]

本文环境

CentOS 7 2009

关闭 Firewall、Selinux

zabbix安装php编译技巧_Zabbix 6 系列进修 06编译办法安装

systemctl stop firwalld && systemctl disable firewalld setenforce 0

永久关闭 selinux,须要重启做事器

zabbix安装php编译技巧_Zabbix 6 系列进修 06编译办法安装
(图片来自网络侵删)

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/configreboot

安装所需软件,更新系统到最新

yum -y install tar vim wgetyum update -y

下载源码包

cd /tmp wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.12.tar.gz

解压软件包

tar -zxvf zabbix-6.0.12.tar.gz

数据库部分

由于 6.0 须要 mysql 8.0 以上,而自带的为 mysql 5.6,以是安装 mysql 8.0 的 yum 仓库文件。

yum -y install https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm

安装数据库

yum -y install mysql-server

启动数据库

systemctl start mysqld && systemctl enable mysqld

查找数据库密码

cat /etc/var/mysqld.log

可以看到密码为 0fs!KjAe1dMm

初始化数据库

mysql_secure_installation

该步骤仅须要修正密码即可,其他直接回车就可以了

其他回车即可

用新密码登录测试(密码自行设置,下面的密码仅限本文利用)

mysql -uroot -pHuawei@123!

创建 Zabbix 用户及用户组

groupadd --system zabbixuseradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

创建 Zabbix 目录

mkdir -p /app/zabbix

编译软件

cd /tmp/zabbix-6.0.12prefix 指定安装目录enable-server 启用 Zabbix Serverenable-agent2 启用 Zabbix agent2with-mysql 后端指天命据库为 mysqlnet-snmp 支持 snmp 协议

实在有很多参数,大家可以通过 ./configure --help 自行研究

./configure --prefix=/app/zabbix --enable-server --enable-agent2 --with-mysql --with-net-snmp

报错1,C 措辞环境问题

办理方法

yum -y install gcc-c++

报错2,mysql 库文件没有

办理办法

yum -y install mysql-devel

报错03,net-snmp 部分问题

办理办法

yum -y install net-snmp-devel

报错03,libevent 报错

办理办法

yum -y install libevent-devel

报错04,短缺 go 环境(如果是一代 agent,无此问题)

办理办法

yum -y install golang

编译完成

安装

make install

编译安装完成

整体安装目录

/app/zabbix├── bin│ └── zabbix_js├── etc│ ├── zabbix_agent2.conf│ ├── zabbix_agent2.d│ │ └── plugins.d│ │ ├── ceph.conf│ │ ├── docker.conf│ │ ├── memcached.conf│ │ ├── modbus.conf│ │ ├── mqtt.conf│ │ ├── mysql.conf│ │ ├── oracle.conf│ │ ├── redis.conf│ │ └── smart.conf│ ├── zabbix_agentd.conf│ ├── zabbix_agentd.conf.d│ ├── zabbix_server.conf│ └── zabbix_server.conf.d├── lib│ └── modules├── sbin│ ├── zabbix_agent2│ ├── zabbix_agentd│ └── zabbix_server└── share ├── man │ └── man8 │ ├── zabbix_agent2.8 │ └── zabbix_server.8 └── zabbix ├── alertscripts └── externalscripts

PHP 部分

Zabbix 6.0 LTS 须要 php 7.2.5 版本以上,须要安装 remi 源支持 php 7.x,官方暂不支持 php 8.x 版本。

yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpmyum -y install yum-utilsyum-config-manager --disable 'remi-php'yum-config-manager --enable remi-php74yum -y install php php-fpm

NGINX 部分

1.安装 Nginx

yum -y install epel-releaseyum -y install nginx

2.移动前端文件到 Zabbix 目录

mv /tmp/zabbix-6.0.12/ui/ /app/zabbixvim /etc/nginx/conf.d/zabbix.conf

3.修正 Zabbix nginx 配置文件

server { listen 80;# server_name example.com; root /app/zabbix/ui; index index.php; location = /favicon.ico { log_not_found off; } location / { try_files $uri $uri/ =404; } location /assets { access_log off; expires 10d; } location ~ /\.ht { deny all; } location ~ /(api\/|conf[^\.]|include|locale|vendor) { deny all; return 404; } location ~ [^/]\.php(/|$) { fastcgi_pass unix:/run/php-fpm/zabbix.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_param DOCUMENT_ROOT /app/zabbix/ui; fastcgi_param SCRIPT_FILENAME /app/zabbix/ui$fastcgi_script_name; fastcgi_param PATH_TRANSLATED /app/zabbix/ui$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; }}

4.修正 Nginx 配置文件

vim /etc/nginx/nginx.conf

将端口全部注释掉即可

5.启动 Nginx

systemctl start nginx && systemctl enable nginx

6.打开 php-fpm

systemctl start php-fpm && systemctl enable php-fpm

访问前端

直接访问 IP 地址,创造是 502 报错

查看 Nginx 日志

tail -f /var/log/nginx/error.log

通过日志可以看出,没有 sock 文件,实在很大略,将 fastcgi_pass unix:/run/php-fpm/zabbix.sock 改为 fastcgi_pass 127.0.0.1:9000

vim /etc/nginx/conf.d/zabbix.conf

重启 Nginx 做事

systemctl restart nginx

就可以访问了,直接点击下一步

进入到环境检讨界面和包安装基本是寰宇之别,由于很多依赖和配置没修正,以是正常,按照警告办理就行

依赖安装

yum -y install php-bcmath php-mbstring php-gd php-xml php-mysqlnd

PHP 配置文件调度

vim /etc/php.ini

post_max_size改为16M(默认8M)

max_excution_time 韶光改为300,原来为30

max_input_time 韶光改为300,原来为60

重启 php-fpm 做事

systemctl restart php-fpm

下一步

进入到数据库配置界面,还须要配置数据库

创建数据库实例及用户

create database zabbix character set utf8mb4 collate utf8mb4_bin;create user zabbix@localhost identified by 'Huawei@123!';grant all privileges on zabbix. to zabbix@localhost;set global log_bin_trust_function_creators = 1;quit;

导入 Zabbix 所须要的数据文件

cat /tmp/zabbix-6.0.12/database/mysql/schema.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbixcat /tmp/zabbix-6.0.12/database/mysql/images.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbixcat /tmp/zabbix-6.0.12/database/mysql/data.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

中途须要输入Zabbix用户密码

数据库界面填写数据库密码即可(Zabbix 用户),下一步

时区与做事名称界面,修正完,下一步

下一步

涌现这个问题便是目录权限问题

将该目录拥有者改为 apache,然后点击 back,在点击下一步

chmod 755 /app/zabbix/ui -R

这里大家知道为什么不是 nginx 么?

Zabbix 是一个 PH P运用,Nginx 通过 php-fpm 来实行 PHP 脚本,而 php-fpm 又因此做事的形式在运行,因此猜想是由于实行写入时 php-fpm 利用的用户不是 Nginx

通过 ps -ef | grep php-fpm 查看做事

那么到这里基本就完成了前真个配置,下一步

登录界面

Admin/zabbix

进入首页

此时会创造前端啥也没有,但是依然能进入到前端里,这也便是为什么能够把各组件分开支配。

Zabbix 部分

程序文件路径为 /app/zabbix/sbin/ 下配置文件路径为 /app/zabbix/etc/ 下

制作 Zabbix server 守护文件

vim /usr/lib/systemd/system/zabbix-server.service

[Unit]Description=Zabbix ServerAfter=syslog.targetAfter=network.targetAfter=postgresql.serviceAfter=pgbouncer.serviceAfter=postgresql-13.service[Service]Environment="CONFFILE=/app/zabbix/etc/zabbix_server.conf"EnvironmentFile=-/etc/sysconfig/zabbix-serverType=forkingRestart=on-failurePIDFile=/tmp/zabbix_server.pidKillMode=control-groupExecStart=/app/zabbix/sbin/zabbix_server -c $CONFFILEExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10sTimeoutSec=0[Install]WantedBy=multi-user.target

制作 Zabbix agent2 守护文件

vim /usr/lib/systemd/system/zabbix-agent2.service

[Unit]Description=Zabbix Agent 2After=syslog.targetAfter=network.target[Service]Environment="CONFFILE=/app/zabbix/etc/zabbix_agent2.conf"EnvironmentFile=-/etc/sysconfig/zabbix_agent2Type=simpleRestart=on-failurePIDFile=/run/zabbix/zabbix_agent2.pidKillMode=control-groupExecStart=/app/zabbix/sbin/zabbix_agent2 -c $CONFFILEExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10sUser=zabbixGroup=zabbix[Install]WantedBy=multi-user.target

修正 Zabbix 配置文件

和包安装一样,须要修正数据库部分配置

vim/app/zabbix/etc/zabbix_server.conf

启动干系组件

systemctl restart zabbix-server zabbix-agent2

首页规复正常

主机页

最新数据

图形正常

附录

编译安装没有修正任何参数的情形下,pid 文件,sock 文件以及日志都在 /tmp 目录下,如须要调度请修正 Zabbix 配置文件

末了

本文篇幅较长,如果是完备编译的话更费劲,当然针对一些完备没有外网的朋友相对来说更加的麻烦,有空我会出一个完备离线编译的版本,欢迎大家关注后续的文章哦,感激!

标签:

相关文章

探索DLL游戏本,高性能与便携性的完美结合

随着科技的不断发展,游戏本已经成为众多游戏爱好者的首选。而DLL游戏本,凭借其高性能与便携性的完美结合,在市场上独树一帜。本文将带...

网站推广 2024-12-27 阅读0 评论0

天成语言艺术的魅力,传承与创新

语言是人类沟通的桥梁,天成语言艺术则是我国传统文化的重要组成部分。从古至今,天成语言艺术以其独特的魅力,传承着中华民族的智慧和精神...

网站推广 2024-12-27 阅读0 评论0

探索IT材料,引领未来科技发展的基石

随着科技的飞速发展,信息技术(IT)已成为推动社会进步的重要力量。而IT材料作为IT产业的基础,其性能直接影响着IT设备的性能和寿...

网站推广 2024-12-27 阅读0 评论0

探索信息技术新纪元_itever的无限可能

随着科技的飞速发展,信息技术在各个领域的应用日益广泛,已成为推动社会进步的重要力量。在这个信息爆炸的时代,我们不禁要问:信息技术的...

网站推广 2024-12-27 阅读0 评论0

多语言算法,技术革新下的语言交流新篇章

随着科技的飞速发展,多语言算法作为人工智能领域的一个重要分支,正逐渐改变着人们的生活方式。本文将从多语言算法的定义、发展历程、应用...

网站推广 2024-12-27 阅读0 评论0