暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CentOS7.9搭建zabbix开源平台(三)

数据中心知识 2023-01-19
134

兔劲十足

玉燕迎春春万里

金兔抱福福三门


VM虚机

PHP环境

Happy

NewYear

接下来会利用几个章节文章,从安装系统到环境搭建,一步步实现zabixx运维监控平台的功能。


Zabbix是一个基于  WEB  界面的提供分布式  系统监视  以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证  服务器系统  的安全运营;并提供灵活的通知机制以让  系统管理员  快速定位/解决存在的各种问题。 zabbix server可以通过  SNMP  ,zabbix agent,  ping  ,端口监视等方法提供对远程服 务器/网络状态的监视, 数据收集 等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。 


PHP语言作为一种高级语言,其特点是开源, 在设计体系上属于C语言体系,它可以让很多接受过高等教育的初学者能很快接受并完成入门学习,简单好上手容易找工作自然粉丝多。如果数据量大及访问压力大,可以集成 redis 、mysql分表分区分库、 elasticsearch 搜索引擎、消息 队列 写保护和php系统分布式集群部署等技术方案,缓解数据存储、服务访问和数据检索带来的巨大压力。


PHP下载地址:

https://www.php.net/downloads.php

此处下载最新版本,上传至opt文件夹

//首先先添加一个www用户和用户组,用于运行php-fpm进程

[root@ ~]# groupadd www

[root@ ~]# useradd -g www www

//解压phptar.gz软件包

[root@ opt]#tar -zvxf php-8.2.1.tar.gz

//解压完毕,在opt文件夹中多了个php-8.2.1文件夹


//接下来先安装依赖包,复制代码运行

yum install libxml2-devel sqlite-devel libcurl-devel oniguruma-devel libpng-devel libjpeg-devel freetype-devel libzip-devel openssl-devel -y

//编译参数,进入文件夹php-8.2.1 并运行下面./configure.....fileinfo代码块,出现如下图则说明编译正常


[root@ opt]# cd opt/php-8.2.1

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mhash --with-openssl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv --with-zlib --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-bcmath --enable-shmop --enable-sysvsem --enable-gd --with-jpeg --with-freetype --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --enable-soap --without-pear --with-gettext --enable-session --with-curl  --enable-opcache --enable-fpm --with-fpm-user=php --with-fpm-group=php --without-gdbm --enable-fast-install --disable-fileinfo


发现报错,oniguruma是一个处理正则表达式的库,php中,mbstring的正则表达式处理功能对这个包有依赖性。所以,安装php前需要安装oniguruma和oniguruma-devel两个软件包。

离线下载连接

https://rpms.remirepo.net/enterprise/8/remi/x86_64/oniguruma5php-6.9.7.1-1.el8.remi.x86_64.rpm


https://rpms.remirepo.net/enterprise/8/remi/x86_64/oniguruma5php-devel-6.9.7.1-1.el8.remi.x86_64.rpm

上传到/opt/php-8.2.1文件夹中,并安装rpm包

并重新运行configure

// 预编译成功,即可make && make install,编译时间较长,耐心等待,如下图即安装成功。

开始改配置文件,php的默认安装位置上面已经指定为/usr/local/php,接下来配置相应的文件,php.ini-development在/opt下载的软件包里面有。

//cd到opt的解压后的软件包里面复制php.ini-development文件到/usr/local/php/etc/php-ini路径下且改文件名为php-ini

//cd到/usr/local/php/etc/文件目录下,复制php-fpm.conf.default文件并且改名为php-fpm.conf

//接着cd到php-fpm.d 文件夹下面,在此文件夹中复制cp www.conf.default且改名为www.conf,如下图

[root@njcc php-fpm.d]# cp www.conf.default ./www.conf

开始检查更改配置参数

//打开[root php-fpm.d]# vim www.conf Vim中i为编辑状态,找到user,group更改为www,保存退出!

[root@njcc php-fpm.d]# vim www.conf

//找到下面位置

user = www

group = www


//打开[root@ etc]# vim php-fpm.conf 文件,翻到末尾查看地址是否为include=/usr/local/php/etc/php-fpm.d/*.conf  不是的话,手工改为一样的。

//修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务 

[root@ sbin] cd usr/local/php/sbin

[root@ sbin]# ./php-fpm

//启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -ntlp | grep 9000 可以查看端口使用情况:

[root@ sbin]#  netstat -ntlp | grep 9000

//然后cd到 usr/local/nginx/conf中修改nginx的nginx.conf配置文件, server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:

//然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:

fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;


//修改完上面的,回到nginx.conf第一行,默认是#user nobody;  这里要去掉注释改为user www

最后保存并退出,然后重启nginx,接下来编辑一个测试的php程序,在nginx下的html目录下创建info.php文件,浏览器输入ip地址/info.php后出现如下图则配置正确!

[root@njcc html]# cd usr/local/nginx/html

[root@njcc html]# vim info.php

重启nginx后,网页打开本机ip/info.php

接下来就就是设置php开机自动启动!

[root@ sbin]# vim etc/init.d/php-fpm

//复制粘贴以下代码到php-fpm

********************************************

#!/bin/sh  

# chkconfig:   2345 15 95


# description:  PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation \


# with some additional features useful for sites of any size, especially busier sites.

# DateTime: 2016-09-20


# Source function library.  

. etc/rc.d/init.d/functions  


# Source networking configuration.  

. etc/sysconfig/network  


# Check that networking is up.  

[ "$NETWORKING" = "no" ] && exit 0  


phpfpm="/usr/local/php/sbin/php-fpm"  

prog=$(basename ${phpfpm})  


lockfile=/var/lock/subsys/phpfpm


start() {  

    [ -x ${phpfpm} ] || exit 5  

    echo -n $"Starting $prog: "  

    daemon ${phpfpm}

    retval=$?  

    echo  

    [ $retval -eq 0 ] && touch $lockfile  

    return $retval  

}  


stop() {  

    echo -n $"Stopping $prog: "  

    killproc $prog -QUIT  

    retval=$?  

    echo  

    [ $retval -eq 0 ] && rm -f $lockfile  

    return $retval  

}  


restart() {  

    configtest || return $?  

    stop  

    start  

}  


reload() {  

    configtest || return $?  

    echo -n $"Reloading $prog: "  

    killproc ${phpfpm} -HUP  

    RETVAL=$?  

    echo  

}  


force_reload() {  

    restart  

}  


configtest() {  

  ${phpfpm} -t

}  


rh_status() {  

    status $prog  

}  


rh_status_q() {  

    rh_status >/dev/null 2>&1  

}  


case "$1" in  

    start)  

        rh_status_q && exit 0  

        $1  

        ;;  

    stop)  

        rh_status_q || exit 0  

        $1  

        ;;  

    restart|configtest)  

        $1  

        ;;  

    reload)  

        rh_status_q || exit 7  

        $1  

        ;;  

    status)  

        rh_status  

        ;;  

    *)  

        echo $"Usage: $0 {start|stop|status|restart|reload|configtest}"  

        exit 2  

esac


********************************************


//更改为可执行权限,归属www,最高777权限

[root@ init.d]# chmod a+x php-fpm

[root@ init.d]# chmod 777 php-fpm

//加入开机启动

[root@ sbin]# chkconfig --add php-fpm

[root@ sbin]service php-fpm start

[root@ sbin]service php-fpm stop

//重启后运行,发现php.fpm.server正常开机启动,浏览器测试info.php正常


END







文章转载自数据中心知识,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论