# nginx description "nginx http daemon" start on (local-filesystems and net-device-up IFACE=lo and runlevel [<%= node['nginx']['upstart']['runlevels'] %>]) stop on runlevel [!<%= node['nginx']['upstart']['runlevels'] %>] env DAEMON=<%= node['nginx']['binary'] %> env PID=<%= node['nginx']['pid'] %> env CONFIG=<%= node['nginx']['source']['conf_path'] %> respawn <% if node['nginx']['upstart']['respawn_limit'] %> respawn limit <%= node['nginx']['upstart']['respawn_limit'] %> <% end %> pre-start script ${DAEMON} -t if [ $? -ne 0 ]; then exit $? fi end script <% unless node['nginx']['upstart']['foreground'] %> expect fork <% else %> console output <% end %> exec ${DAEMON} -c "${CONFIG}" <% if node.recipe?('nginx::passenger') and not node['nginx']['upstart']['foreground'] %> # classic example of why pidfiles should have gone away # with the advent of fork(). we missed that bus a long # time ago so hack around it. post-stop script start-stop-daemon --stop --pidfile ${PID} --name nginx --exec ${DAEMON} --signal QUIT end script <% end %>