这是我在实验中碰到的问题,我们在定义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

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

  1. java项目启动时登录,Java项目启动时报错解决方法

    当前位置:我的异常网» Java Web开发 » Java项目启动时报错解决方法 Java项目启动时报错解决方法 www.myexceptions.net  网友分享于:2013-08-07  浏览: ...

  2. linux系统安装软件报错,Linux安装软件时报错解决方法

    提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示: E: Could not ...

  3. Linux系统安装时报错,Linux安装软件时报错解决方法

    提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示:E: Could not ...

  4. 从零开始在ubuntu上安装和使用k8s集群及报错解决

    文章目录 安装docker 安装kubernetes 配置k8s集群 配置虚拟机网络 配置Master节点的k8s网络 拉取k8s需要的镜像 启动 kubeadm 和 kubelet 配置 node节 ...

  5. mysql集群重启offline_mysql集群搭建问题及解决方法集锦

    在上一篇博客中写了如何搭建mysql集群,之所以遇到这些问题,是因为刚开始弄mysql集群的时候不熟悉,正是因为这些问题,让我对mysql集群的了解渐渐深入,下面介绍在搭建mysql集群的时候我遇到了 ...

  6. ceph-deploy离线部署ceph集群及报错解决FAQ

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  7. nacos 集群_Nacos 常见问题及解决方法

    Nacos 开源至今已有一年,在这一年里,得到了很多用户的支持和反馈.在与社区的交流中,我们发现有一些问题出现的频率比较高,为了能够让用户更快的解决问题,我们总结了这篇常见问题及解决方法,这篇文章后续 ...

  8. CentOS7 service network start命令启动时报错解决方法

    service network start命令启动时报错: [root@localhost network-scripts]# service network start Starting netwo ...

  9. YOLOv6训练时报错解决方法

    报错1:找不到数据集  解决方法: 是因为你yaml文件中数据集的路径不对,YOLOv6读取的数据集格式与YOLOv5不同 将数据集放在主目录中,mydata是我的数据集 yaml文件 报错2:'Tr ...

最新文章

  1. cv2.VideoCapture().set(propId, value)设置摄像头图片大小的用法
  2. SAP库存历史库存表更新逻辑
  3. php图片如何让浮动,页面中用css属性怎么控制图片自定义浮动?(示例)
  4. SpringMVC学习06之SSM整合(一)
  5. JUnit和hamcrest的jar包关系
  6. GraphQL:面对复杂类型
  7. 设计模式:单例和简单工厂
  8. 石头剪刀布程序流程图_“剪刀,石头,布”心理学
  9. excel 第六次人口普查_计算机二级考试真题-Excel-第六次人口普查数据的统计分析...
  10. 深入浅出MFC学习笔记(第三章:MFC六大关键技术之仿真:命令传递) .
  11. Visual Studio 解决方案提示不兼容,该应用程序未安装
  12. java.lang.InstantiationException: com.lch.commder.entity.Car 已解决
  13. Android实现网络视频播放
  14. 加拿大 计算机硕士 哪个学校 便宜,加拿大计算机硕士成功案例1(学生成绩中)...
  15. FX3学习笔记2-cs-make[1]: [post-build] Error 2 (ignored)
  16. 多人在线编辑文档 开发_十个在线小工具,科研amp;工作必备神器!
  17. Oracle数据库ASM管理-华为闪存添加ASM存储实践1
  18. 能力配不上位置,管理只能“累死”
  19. Android面试题及答案3
  20. 双非生物医学硕士放弃研究院工作,零基础转型大数据开发

热门文章

  1. InstallShield学习笔记(2)-建立快捷方式
  2. 3月14号,oracle的说道多多
  3. Spring boot 注解 ConfigurationProperties 的使用
  4. withRouter组件
  5. JavaScript常用代码
  6. A+B Problem
  7. 小程序学习---开启小程序之旅(项目、配置、页面、数据绑定)
  8. javascript操作cookie
  9. 远程桌面的分辨率最大不会超过本机真实物理机的分辨率
  10. 技术转载:八款开源 Android 游戏引擎 (巨好的资源)