167 lines
3.2 KiB
Bash
167 lines
3.2 KiB
Bash
#! /bin/sh
|
|
# chkconfig: 2345 55 25
|
|
# Description: Startup script for php-fpm on Debian. Place in /etc/init.d and
|
|
# run 'update-rc.d -f php-fpm defaults', or use the appropriate command on your
|
|
# distro. For CentOS/Redhat run: 'chkconfig --add php-fpm'
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: php-fpm
|
|
# Required-Start: $all
|
|
# Required-Stop: $all
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: starts php-fpm
|
|
# Description: starts php-fpm
|
|
### END INIT INFO
|
|
|
|
# Author: licess
|
|
# website: https://lnmp.org
|
|
|
|
php_fpm_BIN=/usr/local/php/bin/php-cgi
|
|
php_fpm_CONF=/usr/local/php/etc/php-fpm.conf
|
|
php_fpm_PID=/usr/local/php/logs/php-fpm.pid
|
|
|
|
|
|
php_opts="--fpm-config $php_fpm_CONF"
|
|
|
|
|
|
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 --fpm $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 "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 -TERM `cat $php_fpm_PID`
|
|
|
|
wait_for_pid removed $php_fpm_PID
|
|
|
|
if [ -n "$try" ] ; then
|
|
echo " failed"
|
|
exit 1
|
|
else
|
|
echo " done"
|
|
fi
|
|
;;
|
|
|
|
quit)
|
|
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"
|
|
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"
|
|
;;
|
|
|
|
status)
|
|
|
|
if [ -f "$php_fpm_PID" ]; then
|
|
echo "PHP-FPM is running."
|
|
else
|
|
echo "PHP-FPM is stopped."
|
|
fi
|
|
;;
|
|
|
|
logrotate)
|
|
|
|
echo -n "Re-opening php-fpm log file "
|
|
|
|
if [ ! -r $php_fpm_PID ] ; then
|
|
echo "warning, no pid file found - php-fpm is not running ?"
|
|
exit 1
|
|
fi
|
|
|
|
kill -USR1 `cat $php_fpm_PID`
|
|
|
|
echo " done"
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: /etc/init.d/php-fpm {start|stop|quit|restart|reload|status|logrotate}"
|
|
exit 1
|
|
;;
|
|
|
|
esac
|
|
|