#! /bin/sh

# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and 
# run 'sudo update-rc.d nginx defaults', or use the appropriate command on your
# distro.
#
# Author:	Ryan Norbauer <ryan.norbauer@gmail.com>
# Modified:     Geoffrey Grosenbach http://topfunky.com

#set -e
#set -x

USER="$2"

if [[ -z "${USER}" ]]; then
	NAME=nginx
	CONFIGFILE=/usr/local/nginx/nginx.conf
	PIDFILE=/var/run/nginx.pid
else
	id $USER 2>/dev/null
	if [ $? -eq 1 ]; then
		echo "user does not exists!"
		exit
	fi
	NAME=nginx_$USER
	CONFIGFILE=/home/$USER/conf/nginx.conf
	PIDFILE=/var/run/nginx_$USER.pid
fi


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
DAEMON=/usr/local/nginx/nginx
SCRIPTNAME=/etc/init.d/$NAME

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

d_start() {
  $DAEMON -c $CONFIGFILE || echo -n " already running"
}

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

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

d_config_test() {
  $DAEMON -t -c $CONFIGFILE
}

case "$1" in
  start)
  	echo -n "Starting $DESC: $NAME"
  	d_start
  	echo "."
	;;
  stop)
  	echo -n "Stopping $DESC: $NAME"
  	d_stop
  	echo "."
	;;
  reload)
  	echo -n "Reloading $DESC configuration..."
  	d_reload
  	echo "reloaded."
  ;;
  restart)
  	echo -n "Restarting $DESC: $NAME"
  	d_stop
  	# One second might not be time enough for a daemon to stop, 
  	# if this happens, d_start will fail (and dpkg will break if 
  	# the package is being upgraded). Change the timeout if needed
  	# be, or change d_stop to have start-stop-daemon use --retry. 
  	# Notice that using --retry slows down the shutdown process somewhat.
  	sleep 1
  	d_start
  	echo "."
	;;
   conf)
  	d_config_test
	;;
  *)
	  echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	  exit 3
	;;
esac

exit 0

