Save this file as /etc/init/nginx.conf
# nginx
description "nginx http daemon"
author "George Shammas <[email protected]>"
start on (filesystem and net-device-up IFACE!=lo)
stop on runlevel [!2345]
env DAEMON=/usr/sbin/nginx
env PID=/var/run/nginx.pid
expect fork
respawn
respawn limit 10 5
#oom never
pre-start script
$DAEMON -t
if [ $? -ne 0 ]
then exit $?
fi
end script
exec $DAEMON
respawn
tells upstart to keep NGINX master process alive and expect fork tracks NGINX after the fork. pre-start script helps say when the services fails
respawn limit
tells that if the process is respawned more than 10 times within an interval of 5 seconds, the process will be stopped automatically, and not restarted (the default upstart value).
First reload the Upstart configuration
# initctl reload-configuration
Then check the upstart job list:
# initctl list | grep nginx
and start the job:
# initctl start nginx