php-fpm服务启动脚本

在php-fpm还是打补丁的时候,php-fpm重启只需要执行php-fpm restart或者reload, 自从php5.3之后,php-fpm的启动和停止显得比较麻烦,特意改写了一份nginx的自启动脚本,如下脚本phpfpm=”/usr/local/php-5.3.10/sbin/php-fpm”  修改为你的php-fpm就可以了。


php-fpm自启动脚本


cat /etc/init.d/nginx

内容如下


#!/bin/sh  

# DateTime: 2013-09-16

# Author: lianbaikai

# site:http://www.ttlsa.com/html/3039.html

# chkconfig:   - 84 16   

# Source function library.  

. /etc/rc.d/init.d/functions  

 

# Source networking configuration.  

. /etc/sysconfig/network  

 

# Check that networking is up.  

[ "$NETWORKING" = "no" ] && exit 0  

 

phpfpm="/usr/local/php-5.3.10/sbin/php-fpm"  

prog=$(basename ${phpfpm})  

 

lockfile=/var/lock/subsys/phpfpm

 

start() {  

    [ -x ${phpfpm} ] || exit 5  

    echo -n $"Starting $prog: "  

    daemon ${phpfpm}

    retval=$?  

    echo  

    [ $retval -eq 0 ] && touch $lockfile  

    return $retval  

}  

 

stop() {  

    echo -n $"Stopping $prog: "  

    killproc $prog -QUIT  

    retval=$?  

    echo  

    [ $retval -eq 0 ] && rm -f $lockfile  

    return $retval  

}  

 

restart() {  

    configtest || return $?  

    stop  

    start  

}  

 

reload() {  

    configtest || return $?  

    echo -n $"Reloading $prog: "  

    killproc ${phpfpm} -HUP  

    RETVAL=$?  

    echo  

}  

 

force_reload() {  

    restart  

}  

 

configtest() {  

  ${phpfpm} -t

}  

 

rh_status() {  

    status $prog  

}  

 

rh_status_q() {  

    rh_status >/dev/null 2>&1  

}  

 

case "$1" in  

    start)  

        rh_status_q && exit 0  

        $1  

        ;;  

    stop)  

        rh_status_q || exit 0  

        $1  

        ;;  

    restart|configtest)  

        $1  

        ;;  

    reload)  

        rh_status_q || exit 7  

        $1  

        ;;  

    status)  

        rh_status  

        ;;  

    *)  

        echo $"Usage: $0 {start|stop|status|restart|reload|configtest}"  

        exit 2  

esac

配置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

启动效果如下:


php-fpm

php-fpm服务启动脚本

脚本说明


# 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不走网卡,其实网络这段可以去掉.


tips:daemon便是实现上图漂亮的【 OK 】的函数.


你可能感兴趣的:(php-fpm服务启动脚本)