为了账号安全,请及时绑定邮箱和手机立即绑定

php-fpm的启动脚本

标签:
PHP

# master 进程可以理解以下信号

# 2) SIGINT   立刻终止

#15) SIGTERM 立刻终止

# 3) SIGQUIT 平滑终止

#10) SIGUSR1 重新打开日志文件 

#12) SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制程序。

[root@node2 ~]# ps aux | grep "php-fpm: master"

root      3591  0.0  0.9  47244  2472 ?        Ss   19:56   0:00 php-fpm: master process (/usr/local/php5//etc/php-fpm.conf)

[root@node2 ~]# kill -10 3591

[root@node2 ~]# tail -1 /usr/local/php5/var/log/php-fpm.log

[09-May-2014 20:17:13] NOTICE: log file re-opened  #重新打开日志文件。

#修改配置文件 /usr/local/php5/etc/php-fpm.conf 

[root@node2 ~]# kill -12 3591  # 重新加载配置文件

[root@node2 ~]# tail  /usr/local/php5/var/log/php-fpm.log

[09-May-2014 20:45:20] NOTICE: Reloading in progress ...

[09-May-2014 20:45:20] NOTICE: reloading: execvp("/usr/local/php5/sbin/php-fpm", {"/usr/local/php5/sbin/php-fpm"})

[09-May-2014 20:45:20] NOTICE: using inherited socket fd=8, "127.0.0.1:9000"

[09-May-2014 20:45:20] NOTICE: using inherited socket fd=8, "127.0.0.1:9000"

[09-May-2014 20:45:20] NOTICE: fpm is running, pid 4274

[09-May-2014 20:45:20] NOTICE: ready to handle connections

###################################################################### 根据以上分析 php-fpm 启动脚本如下:

#!/bin/bash

#chkconfig: 3  94  6

#description: FastCGI Process

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

prog="/usr/local/php5/sbin/php-fpm"

conf="/usr/local/php5/etc/php-fpm.conf"

RETVAL=0

lockfile="/var/lock/subsys/php-fpm"

pidfile="/var/run/php-fpm.pid" 

 #修改php-fpm 配置文件,改变pidfile 文件的存放目录。

start() {

     echo -n $"Starting php-fpm: "

     $prog -t &>2 /dev/null

     [ $? -ne 0 ] && exit 1

     daemon --user=root --pidfile="$pidfile" $prog  

             # 以root 用户身份运行 master 进程,

     RETVAL=$?

     echo

     [ $RETVAL = 0 ] && touch ${lockfile}

         #注意:这里不需要*** pidfile 文件。否则会报错。

    #[10-May-2014 07:22:20] ERROR: unlink

    #("/usr/local/php5//var/run/php

    #-fpm.pid") failed: No such file or directory 

     return $RETVAL

}

stop() {

     echo -n $"Stopping php-fpm: "

     killproc -p ${pidfile}  $prog -3

     RETVAL=$?

     echo

     [ $RETVAL = 0 ] && rm -f  ${lockfile}  

}

reload() {

     echo -n $"Reloading php-fpm: "

     if ! $prog -t >& /dev/null ; then

        echo $"not reloading due to configuration syntax error"

        exit 1

     else

        killproc -p ${pidfile} $prog -12

        RETVAL=$?

     fi

     echo

}

case "$1" in

     start)

           start

           ;;

     stop)

          stop

          ;;

     restart)

          stop

          start

          ;;

     status)

          status $prog

          RETVAL=$?

          ;;

     reload)

          reload

          ;;

     configtest)

          $prog -t

          ;;

     *)

          echo $"Usage: php-fpm {start|stop|status|restart|reload|configtest"

         RETVAL=2

esac

exit $RETVAL

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消