#!/bin/sh #======================================================================================= # php-fpm - this script start and stop the php-fpm daemon # # chkconfig 35 on # description: php-fpm is a FastCGI web server. # processname: php-fpm # config: /usr/local/php/etc/php-fpm.conf # pidfile: /var/run/php-fpm.pid #======================================================================================= PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin BINFILE="/usr/local/php/sbin/php-fpm" CFGFILE="/usr/local/php/etc/php-fpm.conf" PIDFILE="/var/run/php-fpm.pid" LOCKFILE="/var/lock/php-fpm.lock" RETVAL=0 start() { [[ -x $BINFILE ]] || exit 5 [[ -f $CFGFILE ]] || exit 6 if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -gt 0 ]]; then echo "The php-fpm is already running." return 1 fi $BINFILE -t >/dev/null 2>&1 if [[ $? -ne 0 ]]; then echo "The php-fpm configure has error." return 1 fi echo -n "Starting php-fpm......" $BINFILE -y $CFGFILE -g ${PIDFILE} RETVAL=$? echo [[ $RETVAL -eq 0 ]] && touch $LOCKFILE return $RETVAL } stop() { if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -eq 0 ]]; then echo "The php-fpm is not running." return 1 fi echo -n "Shutting down php-fpm......" if [[ -f $PIDFILE ]]; then kill -QUIT `cat ${PIDFILE}` else kill -QUIT `ps aux | grep php-fpm | awk '/master/{print $2}'` fi RETVAL=$? echo [[ $RETVAL -eq 0 ]] && rm -f $LOCKFILE $PIDFILE return $RETVAL } restart() { stop sleep 1 while true do if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -eq 0 ]]; then start break fi sleep 1 done RETVAL=$? echo return $RETVAL } reload() { if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -eq 0 ]]; then echo "The php-fpm is not running." return 1 fi echo -n $"Reloading php-fpm......" if [[ -f $PIDFILE ]]; then kill -USR2 `cat ${PIDFILE}` else kill -USR2 `ps aux | grep php-fpm | awk '/master/{print $2}'` fi RETVAL=$? echo return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; *) echo "Usage: service php-fpm {start|stop|restart|reload}" RETVAL=1 esac exit $RETVAL