chef/cookbooks/nginx/templates/default/nginx-upstart.conf.erb
2015-07-21 19:45:23 +02:00

40 lines
1.0 KiB
Plaintext

# 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 %>