Ich konnte Nginx und Passenger installieren und ausführen, aber ich kann Nginx nicht immer dann starten, wenn ich meinen Server neu starte. Um den Nginx-Prozess zu starten, tippe ich einfach sudo / opt / nginx / sbin / nginx ein . Nach meinem Verständnis wird alles ausgeführt, was ich mit ubuntu hardy in /etc/init.d eingefügt habe. Kennt jemand den Befehl, der diesen Befehlszeilenaufruf nachahmt?
sudo / opt / nginx / sbin / nginx
Antworten:
Vielen Dank für die Info, wenn jemand Schritt für Schritt Anweisungen möchte. Gehen Sie zu /etc/init.d und führen Sie es aus. Fügen Sie
sudo nano nginx-passenger.sh
dann den folgenden Code ein:speichern und schließen. Machen Sie die Datei durch Eingabe ausführbar
sudo chmod +x /etc/init.d/nginx-passenger.sh
. Sie können testen, ob das Skript funktioniert, indem Sie dies eingeben. Dadurchsudo /etc/init.d/nginx-passenger.sh
wird der gesamte Code im Skript ausgeführt. Stellen Sie sicher, dass nginx gestartet wird, bevor Sie fortfahren.Führen Sie dann aus,
sudo update-rc.d nginx-passenger.sh defaults
während Sie sich noch im Verzeichnis /etc/init.d befinden. Sobald dies alles vorhanden ist, starten Sie Ihren Server neu und ngnix sollte jetzt beim Start automatisch erzeugt werdenquelle
/etc/init.d ist nur der Speicherort für die Startskripte. Aber ein Skript dort zu haben, macht nichts automatisch.
Das Init-System verwendet die symbolischen Links in den Verzeichnissen /etc/rc#.d zu den Skripten im Ordner /etc/init.d. Der Name der symbolischen Verknüpfung muss mit einem S beginnen, um das Skript mit der Startoption auszuführen, und mit K, um die Stoppoption auszuführen, gefolgt von einer Prioritätsnummer und dem Namen des Skripts.
Weitere Informationen
finden
Sie im Folgenden unter /etc/init.d/README /etc/rc1.d/README
/etc/rc2.d/README
Alternativ können Sie Ihren Befehl, den Sie ausführen möchten, in das Skript /etc/rc.local einfügen, das ausgeführt wird, nachdem das System gestartet und alle Skripts im Ordner /etc/rc2.d/ ausgeführt wurden.
quelle
So starten Sie nginx beim Booten:
sudo systemctl enable nginx
(startet es nicht sofort)So starten Sie nginx:
sudo system start nginx
quelle
Ich gehe davon aus, dass Sie Nginx installiert haben
Wenn Nginx ausgeführt wird, beenden Sie den Vorgang mit:
sudo kill
cat /usr/local/nginx/logs/nginx.pidInit-Skript
Das unten gezeigte Skript stammt aus einer Ubuntu 10.04-Installation und wurde angepasst, um unsere benutzerdefinierte Installation von nginx zu berücksichtigen. Bitte erstellen Sie das Skript:
sudo nano /etc/init.d/nginx
Platzieren Sie in der leeren Datei Folgendes:
Ausführen Da die Init-Datei ein Shell-Skript ist, muss sie über ausführbare Berechtigungen verfügen.
Wir setzen sie so:
update-rc Nachdem wir das Basisskript vorbereitet haben, müssen wir es zu den Standardausführungsstufen hinzufügen:
Die Ausgabe sieht folgendermaßen aus:
Jetzt können wir nginx wie bei jedem anderen Dienst starten, stoppen und neu starten:
Das Skript wird auch bei einem Neustart aufgerufen, sodass nginx automatisch gestartet wird.
quelle
sudo systemctl enable nginx
aus dem/etc/init.d
Verzeichnis heraus musste.Ich verwende dieses Skript, um einen von Passagieren unterstützten Nginx zu starten:
http://library.linode.com/development/frameworks/ruby/ruby-on-rails/nginx-ubuntu-8.04-hardy
quelle
Überprüfen Sie diesen Link:
https://github.com/JasonGiedymin/nginx-init-ubuntu
Sie bieten ein nginx init.d-Skript, das in Ubuntu ausgeführt werden kann.
quelle
Als Referenz: Ich habe gerade die Anweisungen und das Skript für Maverick befolgt, die von Linode unter http://library.linode.com/frameworks/ruby-on-rails-nginx/ubuntu-10.10-maverick bereitgestellt wurden
quelle