2016-07-29 3 views
1

In meinem Anwendungsfall versuche ich ein Upstart-Skript für den Nginx-Dienst zu schreiben. Hier ist mein Gehalt,Wie upstart Skript für Nginx Service zu schreiben?

#nginx upstart script 
description "start and stop nginx server" 

start on (net-device-up 
and local-filesystems 
and runlevel [2345]) 

stop on runlevel [016] 

respawn 
respawn limit 5 30 

console output 

exec service nginx start 

Aber das funktioniert nicht, weil wir die pid etc nach Stopp- und Start entfernen müssen.

Könnte mir jemand dabei helfen? Ich benutze Amazon Linux [ec2].

Antwort

1

Der Befehl service nginx start ist ein Aufruf an ein System V-Init-Skript, das den Nginx-Daemon genau wie Upstart verwaltet. Sie möchten, dass der Upstart den Daemon wie das Init-Skript verwaltet, anstatt das Init-Skript aufzurufen. Sie können sehen, was das Init-Skript mit cat /etc/init.d/nginx

Nginx hat ein Emporkömmling Beispiel on their wiki.

# 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