Nginx Startup Script

After installing nginx from source, you will need to have a startup script to simplify the process of starting the webserver. Below is the startup script that should be used. Save the file as /etc/init.d/nginx using your preferred text editor.

#!/bin/sh
#
# nginx - this script starts and stops the nginx http server

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

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

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

# Path to nginx binary
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

# Path to nginx configuration file
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

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
	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
		;;
	force-reload)
		force_reload
		;;
	status)
		rh_status
		;;
	condrestart|try-restart)
		rh_status_q || exit 0
		;;
	*)
		echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
		exit 2
esac

You will need to CHMOD it to make sure the script can be executed. To do that, use the command:

chmod 0755 /etc/init.d/nginx

Now to finally use nginx, you will have to start it. Use the following command:

/etc/init.d/nginx start

On the majority of Linux operating systems, you also have the option to use the service command, which allows you to type a few less characters.

service nginx start

Other commands

Stopping the server:

/etc/init.d/nginx stop

Restarting the server

/etc/init.d/nginx restart

Reloading the server

/etc/init.d/nginx reload

One thought on “Nginx Startup Script

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>