php-fpm定义成集群资源时报错解决方法

简介:

这是我在实验中碰到的问题,我们在定义php-fpm为资源的时候,用php程序包自带的脚本会报错。

笔者花了很多时间尝试了各种办法,最后找到了一位网友写的脚本,可以解决。

脚本如下:

#!/bin/sh
#=======================================================================================
# php-fpm - this script start and stop the php-fpm daemon
#
# chkconfig 35 on
# description: php-fpm is a FastCGI web server.
# processname: php-fpm
# config: /usr/local/php/etc/php-fpm.conf
# pidfile: /var/run/php-fpm.pid
#=======================================================================================
PATH= /usr/local/sbin : /usr/local/bin : /sbin : /bin : /usr/sbin : /usr/bin
    
BINFILE= "/usr/local/php/sbin/php-fpm"
CFGFILE= "/usr/local/php/etc/php-fpm.conf"
PIDFILE= "/var/run/php-fpm.pid"
LOCKFILE= "/var/lock/php-fpm.lock"
    
RETVAL=0
    
start() {
     [[ -x $BINFILE ]] ||  exit  5
     [[ -f $CFGFILE ]] ||  exit  6
       
     if  [[ ` ps  aux |  grep  php-fpm: |  grep  - v  grep  wc  -l` -gt 0 ]];  then
         echo  "The php-fpm is already running."
         return  1
     fi
       
     $BINFILE -t > /dev/null  2>&1
       
     if  [[ $? - ne  0 ]];  then
         echo  "The php-fpm configure has error."
         return  1
     fi
       
     echo  -n  "Starting php-fpm......"
     $BINFILE -y $CFGFILE -g ${PIDFILE}
     RETVAL=$?
     echo
     [[ $RETVAL - eq  0 ]] &&  touch  $LOCKFILE
       
     return  $RETVAL
}
    
stop() {
     if  [[ ` ps  aux |  grep  php-fpm: |  grep  - v  grep  wc  -l` - eq  0 ]];  then
         echo  "The php-fpm is not running."
         return  1
     fi
       
     echo  -n  "Shutting down php-fpm......"
       
     if  [[ -f $PIDFILE ]];  then
         kill  -QUIT ` cat  ${PIDFILE}`
     else
         kill  -QUIT ` ps  aux |  grep  php-fpm |  awk  '/master/{print $2}' `
     fi
       
     RETVAL=$?
     echo
     [[ $RETVAL - eq  0 ]] &&  rm  -f $LOCKFILE $PIDFILE
       
     return  $RETVAL
}
    
restart() {
     stop
     sleep  1
       
     while  true
     do
         if  [[ ` ps  aux |  grep  php-fpm: |  grep  - v  grep  wc  -l` - eq  0 ]];  then
             start
             break
         fi
         sleep  1
     done
       
     RETVAL=$?
     echo
       
     return  $RETVAL
}
    
reload() {
     if  [[ ` ps  aux |  grep  php-fpm: |  grep  - v  grep  wc  -l` - eq  0 ]];  then
         echo  "The php-fpm is not running."
         return  1
     fi
       
     echo  -n $ "Reloading php-fpm......"
       
     if  [[ -f $PIDFILE ]];  then
         kill  -USR2 ` cat  ${PIDFILE}`
     else
         kill  -USR2 ` ps  aux |  grep  php-fpm |  awk  '/master/{print $2}' `
     fi
       
     RETVAL=$?
     echo
       
     return  $RETVAL
}
    
case  "$1"  in
start)
     start
     ;;
       
stop)
     stop
     ;;
       
restart)
     restart
     ;;
       
reload)
     reload
     ;;
       
*)
     echo  "Usage: service php-fpm {start|stop|restart|reload}"
     RETVAL=1
esac
    
exit  $RETVAL

此脚本出自 人生理想在于坚持不懈” 博客,请务必保留此出处http://sofar.blog.51cto.com/353572/1253208

将这个脚本替换掉php-fpm程序提供的脚本,然后在定义资源的时候不要使用资源监控(monitor)不然也会报错,笔者的定义方式如下:

crm configure primitive php-fpm lsb:php-fpm 




本文转自qw87112 51CTO博客,原文链接:http://blog.51cto.com/tchuairen/1534231
相关文章
|
12天前
|
PHP 开发者
【PHP开发专栏】PHP函数定义与调用技巧
【4月更文挑战第29天】本文深入探讨了PHP函数的使用技巧,涵盖函数定义、参数传递、调用方式及高级技巧。PHP函数通过`function`关键字定义,支持默认参数值和可变参数。参数传递分为值传递(默认)和引用传递。函数调用包括普通调用、静态方法调用和匿名函数。高级技巧包括函数回调、模拟函数重载和递归调用。理解并熟练应用这些技巧能提升PHP开发效率和代码质量。
|
5月前
|
JSON PHP 数据格式
【PHP学习】—数组的定义和遍历(三)
【PHP学习】—数组的定义和遍历(三)
|
10月前
|
JSON 监控 API
php对接小鹅通API开发高级实战案例解析:获取指定资源学习记录信息(单人单学习记录、单人多学习记录累计、返回数据格式确认)
php对接小鹅通API开发高级实战案例解析:获取指定资源学习记录信息(单人单学习记录、单人多学习记录累计、返回数据格式确认)
217 0
PHP使用 finally 块,里面必须写 fclose($file);吗?如果不写,就不能关闭资源吗?
PHP使用 finally 块,里面必须写 fclose($file);吗?如果不写,就不能关闭资源吗?
|
Java 程序员 数据库连接
PHP如何使用 PHP 的自动资源回收机制来自动关闭文件句柄?底层原理是什么?
PHP如何使用 PHP 的自动资源回收机制来自动关闭文件句柄?底层原理是什么?
118 0
|
消息中间件 网络协议 物联网
【黄啊码】PHP不能做网络通信?Swoole,重新定义PHP
【黄啊码】PHP不能做网络通信?Swoole,重新定义PHP
109 0
|
PHP
php常用的header头部定义
php常用的header头部定义
80 0
PHP数组定义方式
PHP数组定义方式
|
自然语言处理 PHP
PHP学习资源之用户手册
本章向大家推荐一些学习PHP的资源,首先第一个资源必不可少的就是PHP用户手册PHP手册相当于是PHP的“新华词典”,包含了PHP的所有内容,所以在我们的学习生 活中必不可少,有人问可不可以把学习手册背下来,结果肯定是当然可以的,就像你把 新华词典背下来,你会认识所有的汉字,但是这不推荐新手这么做,首先背手册要花费 大量时间,即使你背下来啦,你会发现你依然写不出代码,因为手册并不是按照一个完 整的学习体系来编写的,所以推荐大家把手册下载到本地,然后遇到问题的时候我们再 去查找手册,这样会事半功倍。下面我来教大家如何下载手册.
170 0
PHP学习资源之用户手册