Home  >  Article  >  Backend Development  >  Start, restart and stop scripts for Nginx and PHP-FPM

Start, restart and stop scripts for Nginx and PHP-FPM

WBOY
WBOYOriginal
2016-08-08 09:22:091447browse

Reprinted from: http://www.jb51.net/article/58796.htm

Nginx and PHP on the server are compiled and installed from source code. Unlike ubuntu, which has its own service startup script, it does not support similar The previous nginx (start|restart|stop|reload) is gone. living comfortably without anybody's help. The following script should be applicable under RHEL, Fedora, and CentOS.

1. Nginx startup script/etc/init.d/nginx

Copy the codeThe code is as follows:


#!/bin/bash
#
# Startup script for Nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/ nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration .
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog =$(basename $nginx)

NGINX_C/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/ lock/subsys/nginx

start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
configtest || return $?
stop
sleep 1
start
}

reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}

force_reload() {
restart
}

configtest() {
$nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
status $prog
}

rh_status_q() {
rh_status >/dev/null 2>&1
}

case " $1" in
Start)
rh_status_q && exit 0
$1
stop)
rh_status_q || exit 0
$1

restart|configtest)
$1
reload)
rh_status_q || exit 7
$1
                                                                                 _status_q || exit 0
         ;;
                       ; |stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
                       exit 2
esac



After editing, save it and execute the following command




Copy the code

The code is as follows :


sudo chmod +x /etc/init.d/nginxsudo /sbin/chkconfig nginx on# Check it
sudo /sbin/chkconfig --list nginx

nginx 0:off 1:off 2:on 3 :on 4:on 5:on 6:offDone! You can use the following command to manage Nginx




Copy the code

The code is as follows:


service nginx start
service nginx stop
service nginx restart
service nginx reload

/etc/init.d/nginx start
/etc/init.d/nginx stop
/etc/init.d/nginx restart
/ etc/init.d/nginx reload


2. PHP-FPM startup script/etc/init.d/php-fpm

Copy the codeThe code is as follows:


#!/bin/bash
#
# Startup script for the PHP-FPM server.
#
# chkconfig: 345 85 15
# description: PHP is an HTML-embedded scripting language
# processname: php-fpm
# config: /usr/local/ php/etc/php.ini

# Source function library.
. /etc/rc.d/init.d/functions

PHP_PATH=/usr/local
DESC="php-fpm daemon"
NAME=php- fpm
# php-fpm path
DAEMON=$PHP_PATH/php/sbin/$NAME
# Configuration file path
C/php/etc/php-fpm.conf
# PID file path (set in php-fpm.conf)
PIDFILE=$PHP_PATH/php/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

rh_start() {
$DAEMON -y $CONFIGFILE || echo -n " ​​already running"
}

rh_stop() {
kill -QUIT `cat $PIDFILE` || echo -n " ​​not running"
}

rh_reload() {
kill -HUP `cat $PIDFILE` || echo -n " ​​can't reload"
}

case "$1" in
start)
echo -n "Starting $DESC: $NAME"
RH_STARTh Echo "."
;;
stop)
echo -n "stopping $ desc: $ name"
rh_stop
echo ". "
rh_reload
echo" Reloaded. "
;;
RESTART)
echo -n" restarting $ desc: $ name "
rh_stop
sleep 1
rh_start
echo". $SCRIPTNAME {start|stop|restart|reload}" >


sudo chmod +x /etc/init.d/php-fpm
sudo /sbin/chkconfig php-fpm on
# Check it
sudo /sbin/chkconfig --list php-fpm
php-fpm    0:off 1:off 2:on 3:on 4:on 5:on 6:off



Done! You can use the following commands to manage php-fpm


Copy the code

The code is as follows:service php-fpm startservice php-fpm stop

service php-fpm restart

service php-fpm reload

/ etc/init.d/php-fpm start
/etc/init.d/php-fpm stop
/etc/init.d/php-fpm restart
/etc/init.d/php-fpm reload



The above introduces the startup, restart, and stop scripts of Nginx and PHP-FPM, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Books on nginxNext article:Books on nginx