当前位置 博文首页 > php-fpm开机自动启动Shell脚本

    php-fpm开机自动启动Shell脚本

    作者:admin 时间:2021-07-05 18:31

    网上有各种版本的php-fpm开机自动启动脚本, 其实你编译后源目录已经生成自动脚本。不用做任何修改即用。

    cp {php-5.3.x-source-dir}/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

    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
        ;;
     
        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}"
            exit 1
        ;;
     
    esac
    

    jsjbwy