PHP-FPM init.d 启动脚本
On 2012-05-18 18:18:18 By SoliPHP-FPM init.d 启动脚本
本脚本 php-fpm 的 init.d 启动脚本,是根据 nginx 在 debian 6 上的启动脚本改写的。使用了 start-stop-daemon 工具。支持 start、stop、restart、reload、force-reload、status、configtest 等操作。
脚本内容如下:
#!/bin/sh
### BEGIN INIT INFO
# Provides: php-fpm
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the php-fpm
# Description: starts php-fpm using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/php-fpm
NAME=php-fpm
DESC=php-fpm
test -x $DAEMON || exit 0
# Include defaults if available
if [ -f /etc/default/php-fpm ] ; then
. /etc/default/php-fpm
fi
set -e
. /lib/lsb/init-functions
test_config() {
if $DAEMON -t $DAEMON_OPTS >/dev/null 2>&1
then
return 0
else
$DAEMON -t $DAEMON_OPTS
return $?
fi
}
case "$1" in
start)
echo -n "Starting $DESC: "
test_config
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS || true
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON || true
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON || true
sleep 1
test_config
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
test_config
start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON || true
echo "$NAME."
;;
configtest)
echo -n "Testing $DESC configuration: "
if test_config
then
echo "$NAME."
else
exit $?
fi
;;
status)
status_of_proc -p /var/run/$NAME.pid "$DAEMON" php-fpm && exit 0 || exit $?
;;
*)
echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
exit 1
;;
esac
exit 0
该脚本使用 php-fpm 默认的配置文件。如果你不知道 php-fpm 的默认配置文件是哪个,你可以运行 "php-fpm -t" 来查看。
可以通过修改 /etc/defaults/php-fpm
文件来指定 php-fpm 的命令行参数。比如,如果使用非默认配置文件,可在 /etc/defaults/php-fpm
中(如果没有则手动创建)加入:
DAEMON_OPTS = -y /your/config/file/dir
你也可以指定其他参数,只要在 DAEMON_OPTS 后追加即可。
另外,本脚本依赖 pidfile,所以您需要在 php-fpm 的配置文件中设置 (在 [global] 段下):
pid = /var/run/php-fpm.pid
如果你指定的 pid 路径与此不一致,请修改本启动脚本相应的内容。
如果有任何问题,欢迎讨论交流。
Except where otherwise noted, content on this site is licensed under a
Creative Commons Attribution 4.0 International license
.