Frage Wie starte ich nginx neu?


Für mich starte ich "killall nginx" und starte es mit "sbin / nginx", hat jemand ein besseres Neustart-Skript?

BTW: Ich installiere nginx von der Quelle, ich finde 'Service nginx' Befehl oder /etc/init.d/nginx nicht


77
2017-12-16 07:49


Ursprung


Warum installieren Sie von der Quelle? Nginx-Pakete sind für die meisten guten Server-Linux-Distributionen verfügbar. Oder Sie können Ihre eigenen Pakete rollen, aber nicht mit Paketen ist ein Bugger für Wartbarkeit. - Tom O'Connor
wegen mod_rails - larry


Antworten:


Das nginx-Paket enthält ein /etc/init.d/nginx-Skript, das die üblichen Funktionen zum Starten | Stoppen | Neustart | Neuladen ... bereitstellt.

/etc/init.d/nginx restart 

wird nginx neu starten

wie es sein wird

service nginx restart

Bearbeiten

Hier ist eine Verknüpfung zu einem Skript, das Sie als /etc/init.d/nginx verwenden können.


127
2018-06-11 00:50



Hängt von Ihrem Repository ab. Die Nginx-Quelle stellt keine Init-Skripte zur Verfügung. Wenn Sie also gerne aktualisiert und von der Quelle kompiliert werden, müssen Sie eine aus dem Wiki holen. - Martin Fjordvald
Ich muss mehr Kaffee haben, bevor ich Fragen beantworte ... - Iain
Worauf weist service nginx neustart hin und ist es sinnvoll, etwas neu zu laden, wenn eine Änderung an init.d / nginx vorgenommen wird? Meine beiden Befehle (/etc/init.d/nginx und service nginx) scheinen nicht synchron zu sein. - Danny
@Danny: habe ich das vor 2 Jahren geschrieben. - Iain


http://wiki.nginx.org/CommandLine

Innerhalb der Links gibt es einen Befehl zum Starten und Stoppen des Nginx-Servers

zum Starten von nginx:

/usr/bin/nginx

zum Stoppen von nginx:

/usr/bin/nginx -s stop

/usr/bin hängt davon ab, wo Sie Ihr Nginx installieren


11
2018-02-12 19:08



@slm behoben! nur etwas mehr Details hinzufügen. - LiJung


Nachdem ich die Konfigurationsdateien bearbeitet habe, starte ich es so auf OpenBSD:

kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \
    tail -2 /var/www/logs/error.log ; date

Das HUP Signal macht es seine Konfigurationsdateien neu zu lesen, die tail zeigt an, ob Fehler aufgetreten sind date setzt diese Fehler in den Kontext (ein Fehler ist nur aufgetreten, wenn die Zeit von date entspricht der Uhrzeit aus dem Protokoll) und sleep 1 stellt sicher, dass es zwischen dem Lesen aus dem Protokoll und dem Zeitpunkt, zu dem nginx Zeit hatte, darauf zu schreiben, keine Wettlaufbedingungen gibt.

So sieht es aus:

Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns# 

Die Tatsache, dass die Zeit aus dem Protokoll nicht zwischen den Zeiten gedruckt wird date zeigt an, dass dieses Mal keine Fehler aufgetreten sind und die neue Konfiguration eine gute ist.


1
2017-12-16 08:00





Sie können Init-Skripte im NginX-Wiki finden: http://wiki.ninx.org/Configuration#Init_Scripts

Die Neustartfunktion führt den folgenden Befehl aus:

BASEDIR=
$BASEDIR/sbin/nginx -s stop
$BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf

Wenn Sie nginx in / opt / nginx installiert haben, ersetzen Sie es BASEDIR= durch BASEDIR=/opt/nginx.


0
2017-12-16 08:02





Normalerweise installieren Pakete, die von der Quelle installiert werden, das Startskript nicht /etc/init.d/. Sie haben zwei Möglichkeiten.

1- Sie können nach einem Skript im Quellcodeverzeichnis oder auf der Website suchen und es bei Bedarf anpassen.

2- Sie können ein Startskript für ein anderes Paket von Ihrem System kopieren und anpassen.


0