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
相关文章
|
6月前
|
SQL 安全 程序员
PHP编程中的关键性错误及解决方法
在PHP编程过程中,程序员常常会遇到一些关键性错误,这些错误可能会导致程序运行异常甚至崩溃。本文将重点探讨PHP编程中常见的关键性错误,并提供解决方法,帮助程序员更好地应对这些问题,提高编程效率和代码质量。
36 1
没有可用的软件包 php5-mysql,但是它被其它的软件包引用了。解决方法
没有可用的软件包 php5-mysql,但是它被其它的软件包引用了。解决方法
215 0
|
3月前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
|
4月前
|
PHP
PHP中接口如何定义?
【7月更文挑战第2天】PHP中接口如何定义?
26 0
|
4月前
|
PHP
PHP中,你可以使用class关键字来定义一个类
【7月更文挑战第2天】PHP中,你可以使用class关键字来定义一个类
28 0
|
5月前
|
应用服务中间件 Linux 网络安全
PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
在Azure App Service for Linux上部署的PHP应用遇到上传文件超过1MB时出现413 Request Entity Too Large错误的解决之法
222 0
|
6月前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理实践深入理解PHP的命名空间与自动加载机制
【5月更文挑战第30天】 在容器化和微服务架构日益普及的背景下,Kubernetes 已成为众多企业的首选容器编排工具。然而,随之而来的挑战是集群的监控与日志管理。本文将深入探讨 Kubernetes 集群监控的最佳实践,包括节点资源使用情况、Pods 健康状态以及网络流量分析等关键指标的监控方法。同时,我们也将讨论日志聚合、存储和查询策略,以确保快速定位问题并优化系统性能。文中将介绍常用的开源工具如 Prometheus 和 Fluentd,并分享如何结合这些工具构建高效、可靠的监控和日志管理系统。
|
6月前
|
PHP 开发者
【PHP开发专栏】PHP函数定义与调用技巧
【4月更文挑战第29天】本文深入探讨了PHP函数的使用技巧,涵盖函数定义、参数传递、调用方式及高级技巧。PHP函数通过`function`关键字定义,支持默认参数值和可变参数。参数传递分为值传递(默认)和引用传递。函数调用包括普通调用、静态方法调用和匿名函数。高级技巧包括函数回调、模拟函数重载和递归调用。理解并熟练应用这些技巧能提升PHP开发效率和代码质量。
64 0
|
运维 关系型数据库 MySQL
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(二)
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(二)
240 0
|
PHP Windows
windows下 Call to undefined function posix_getpid() in ……\Workerman\Worker.php 的解决方法
windows下 Call to undefined function posix_getpid() in ……\Workerman\Worker.php 的解决方法
180 0
windows下 Call to undefined function posix_getpid() in ……\Workerman\Worker.php 的解决方法
下一篇
无影云桌面