Upstart

Save this file as [ /etc/init/nginx.conf]
 * 1) nginx

description "nginx http daemon" author "George Shammas "

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
 * 1) 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 ngnix 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).

Then check the upstart job list:

initctl list | grep nginx

and start the job:

initctl start nginx