php-fpm自启动脚本

一、在/etc/init.d/下建立一个文件,名为php-fpm
二、给它755权限
三、写入以下脚本,
四、然后chkconfig --add nginx即可

同样注意脚本中的路径可能需要修改


#! /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


你可能感兴趣的:(nginx)