# 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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。