加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_郴州站长网 (http://www.0735zz.com/)- 云通信、区块链、物联设备、云计算、站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php-fpm服务启动脚本的办法

发布时间:2022-07-01 12:42:44 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了php-fpm服务启动脚本的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下,这个我自己在用,没问题,有三个path需要自己酌情修改。 先创建自启动文件:/etc/init.d/php-fpm 内容如下: #! /bin/sh ### BEGIN INIT INFO # Provides:
  这篇文章主要介绍了php-fpm服务启动脚本的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下,这个我自己在用,没问题,有三个path需要自己酌情修改。
 
  先创建自启动文件:/etc/init.d/php-fpm
 
  内容如下:
 
  #! /bin/sh
  ### BEGIN INIT INFO
  # Provides:     php-fpm
  # Required-Start:  $remote_fs $network
  # Required-Stop:   $remote_fs $network
  # Default-Start:   2 3 4 5
  # Default-Stop:   0 1 6
  # Short-Description: starts php-fpm
  # Description:    starts the PHP FastCGI Process Manager daemon
  ### END INIT INFO
  prefix=/usr/local/php
  exec_prefix=${prefix}
  php_fpm_BIN=${exec_prefix}/sbin/php-fpm
  php_fpm_CONF=${prefix}/etc/php-fpm.conf
  php_fpm_PID=${prefix}/var/run/php-fpm.pid
  php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
  wait_for_pid () {
    try=0
    while test $try -lt 35 ; do
      case "$1" in
        'created')
        if [ -f "$2" ] ; then
          try=''
          break
        fi
        ;;
        'removed')
        if [ ! -f "$2" ] ; then
          try=''
          break
        fi
        ;;
      esac
      echo -n .
      try=`expr $try + 1`
      sleep 1
    done
  }
  case "$1" in
    start)
      echo -n "Starting php-fpm "
      $php_fpm_BIN --daemonize $php_opts
      if [ "$?" != 0 ] ; then
        echo " failed"
        exit 1
      fi
      wait_for_pid created $php_fpm_PID
      if [ -n "$try" ] ; then
        echo " failed"
        exit 1
      else
        echo " done"
      fi
    ;;
    stop)
      echo -n "Gracefully shutting down php-fpm "
      if [ ! -r $php_fpm_PID ] ; then
        echo "warning, no pid file found - php-fpm is not running ?"
        exit 1
      fi
      kill -QUIT `cat $php_fpm_PID`
      wait_for_pid removed $php_fpm_PID
      if [ -n "$try" ] ; then
        echo " failed. Use force-quit"
        exit 1
      else
        echo " done"
      fi
    ;;
    status)
      if [ ! -r $php_fpm_PID ] ; then
        echo "php-fpm is stopped"
        exit 0
      fi
      PID=`cat $php_fpm_PID`
      if ps -p $PID | grep -q $PID; then
        echo "php-fpm (pid $PID) is running..."
      else
        echo "php-fpm dead but pid file exists"
      fi
    ;;
    force-quit)
      echo -n "Terminating php-fpm "
      if [ ! -r $php_fpm_PID ] ; then
        echo "warning, no pid file found - php-fpm is not running ?"
        exit 1
      fi
      kill -TERM `cat $php_fpm_PID`
      wait_for_pid removed $php_fpm_PID
      if [ -n "$try" ] ; then
        echo " failed"
        exit 1
      else
        echo " done"
      fi
    ;;
    restart)
      $0 stop
      $0 start
    ;;
    reload)
      echo -n "Reload service php-fpm "
      if [ ! -r $php_fpm_PID ] ; then
        echo "warning, no pid file found - php-fpm is not running ?"
        exit 1
      fi
      kill -USR2 `cat $php_fpm_PID`
      echo " done"
    ;;
    *)
      echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"
      exit 1
    ;;
  esac
  配置php-fpm服务
 
  # 设置权限
  chmod 755 /etc/init.d/php-fpm
  # php-fpm加入服务
  chkconfig --add php-fpm
  # php-fpm 234级别下设置为启动
  chkconfig php-fpm on
  # 查看php-fpm服务当前配置
  chkconfig --list php-fpm
  php-fpm     0:off  1:off  2:on  3:on  4:on  5:on  6:off
  php-fpm使用方法
 
  # 启动
  service php-fpm start
  # 关闭
  service php-fpm stop
  # 重启
  service php-fpm restart
  # 重载
  service php-fpm reload
  #检查配置文件
  service php-fpm configtest
  脚本说明
 
  # Source function library.  
  . /etc/rc.d/init.d/functions  
  # Source networking configuration.  
  . /etc/sysconfig/network
  以上量行代码有人会疑问他们到底是做什么的,'.'是source类似于程序中的include和require,将functions里面的方法全部倒入到这边,这边程序便可以使用,例如这边用到的daemon、status。第二行的network实际上就几行,如下
 
  NETWORKING=yes
 
  HOSTNAME=E10162
 
  将他们作为变量赋值,判断网卡是否启动,如果你的nginx不走网卡,其实网络这段可以去掉.
 
  /etc/init.d/php-fpm

(编辑:开发网_郴州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读