Heim >Backend-Entwicklung >PHP-Tutorial >Allgemeine Befehle für die tägliche Nginx-Wartung

Allgemeine Befehle für die tägliche Nginx-Wartung

WBOY
WBOYOriginal
2016-08-08 09:26:101160Durchsuche

1. Kurze allgemeine Nginx-Befehle

1. Starten Sie Nginx

Der Code lautet wie folgt:

poechant@ubuntu:sudo ./sbin/nginx

2. Stoppen Sie Nginx

Der Code lautet wie folgt:

poechant@ubuntu:sudo ./sbin/nginx -s stop
poechant@ubuntu:sudo ./sbin/nginx -s quit

-s werden alle verwendet, um Signale an Nginx zu senden.

3. Nginx-Neuladekonfiguration

Der Code lautet wie folgt:

poechant@ubuntu:sudo ./sbin/nginx -s reload
Das Obige ist die Methode zum Senden von Signalen an Nginx, oder verwenden Sie:

Der Code lautet wie folgt:

poechant@ubuntu:service nginx reload

4. Geben Sie die Konfigurationsdatei an

Der Code lautet wie folgt:

poechant@ubuntu:sudo ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf

-c bedeutet Konfiguration, geben Sie die Konfigurationsdatei an.

5. Nginx-Version anzeigen
Es gibt zwei Parameter zum Anzeigen von Nginx-Versionsinformationen. Der erste lautet wie folgt:

Der Code lautet wie folgt:

poechant@ubuntu:/usr/local/nginx$ ./sbin/nginx -v
nginx: nginx version: nginx/1.0.0
Der andere zeigt detaillierte Versionsinformationen an:

Der Code lautet wie folgt:

poechant@ubuntu:/usr/local/nginx$ ./sbin/nginx -V
nginx: nginx version: nginx/1.0.0
nginx: built by gcc 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
nginx: TLS SNI support enabled
nginx: configure arguments: --with-http_ssl_module --with-openssl=/home/luming/openssl-1.0.0d/

6. Überprüfen Sie, ob die Konfigurationsdatei korrekt ist

Der Code lautet wie folgt:

poechant@ubuntu:/usr/local/nginx$ ./sbin/nginx -t
nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied)
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
2012/01/09 16:45:09 [emerg] 23898#0: open() "/usr/local/nginx/logs/nginx.pid" failed (13: Permission denied)
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
Wenn die obige Eingabeaufforderung angezeigt wird Wenn eine Meldung angezeigt wird, bedeutet dies, dass keine Zugriffsfehlerprotokolldatei und kein Prozess vorhanden ist. Sie können Sudo ausführen (Superuser):

Der Code lautet wie folgt:

poerchant@ubuntu:/usr/local/nginx$ sudo ./sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

Wenn es wie oben angezeigt wird, bedeutet dies, dass die Konfigurationsdatei korrekt ist. Andernfalls werden entsprechende Eingabeaufforderungen angezeigt.

7. Hilfeinformationen anzeigen

Der Code lautet wie folgt:

poechant@ubuntu:/user/local/nginx$ ./sbin/nginx -h
oder:

Der Code lautet wie folgt:

poechant@ubuntu:/user/local/nginx$ ./sbin/nginx -?

Das Obige deckt alle grundlegenden Vorgänge der täglichen Nginx-Wartung ab, und es gibt auch verwandte Befehle zum Senden von Signalen an den Masterprozess Wir werden es uns unten ansehen.

2. Relevante Befehle zum Senden von Signalen über den Master unter Linux

Stoppvorgang
Der Stoppvorgang wird durch Senden eines Signals an den Nginx-Prozess durchgeführt (was ein Signal ist, bitte). (siehe den Linux-Artikel)
Schritt 1: Fragen Sie die Nginx-Hauptprozessnummer ab
ps -ef grep nginx
Suchen Sie in der Prozessliste nach dem Masterprozess. Seine Nummer ist die Hauptprozessnummer.
Schritt 2: Signal senden
Nginx ordnungsgemäß stoppen:
kill -QUIT Hauptprozessnummer
Nginx schnell stoppen:
kill -TERM Hauptprozessnummer
Nginx erzwingen:
pkill -9 nginx

Wenn der PID-Dateispeicherpfad in nginx.conf konfiguriert ist, speichert die Datei außerdem die Nginx-Hauptprozessnummer. Wenn nicht angegeben, wird sie im Nginx-Protokollverzeichnis abgelegt. Mit der PID-Datei müssen wir nicht zuerst die Hauptprozessnummer von Nginx abfragen, sondern direkt ein Signal an Nginx senden. Der Befehl lautet wie folgt:
kill -Signal type '/usr/nginx/logs/nginx .pid' (empfohlen)

Reibungsloser Neustart
Wenn Sie die Konfiguration ändern, müssen Sie Nginx neu starten und dann Nginx öffnen. Nein, Sie können ein Signal an Nginx senden, um einen reibungslosen Neustart zu ermöglichen.
Befehl für einen reibungslosen Neustart:
kill -HUP Geben Sie den Namen oder die Prozessnummer des Dateipfads ein
oder verwenden Sie

Der Code lautet wie folgt:

nginx -s neu laden (empfohlen)
oder
/usr/nginx/sbin/nginx -s reload

Beachten Sie, dass es nach dem Ändern der Konfigurationsdatei am besten ist, zu überprüfen, ob die geänderte Konfigurationsdatei korrekt ist, um dies zu vermeiden Nginx erscheint nach dem Neustart. Der Fehler beeinträchtigt den stabilen Betrieb des Servers. Der Befehl zum Ermitteln, ob die Nginx-Konfiguration korrekt ist, lautet wie folgt:
nginx -t -c /usr/nginx/conf/nginx.conf
oder
nginx -t (empfohlen)
oder
/usr/nginx /sbin/nginx -t

Reibungsloses Upgrade
Wenn der Nginx, auf dem der Server läuft, aktualisiert, hinzugefügt oder gelöscht werden muss, müssen wir den Server stoppen und entsprechende Änderungen vornehmen , sodass der Server eine gewisse Zeit wartet. Stoppen Sie den Dienst innerhalb weniger Sekunden, und Nginx kann verschiedene Upgrade-Aktionen durchführen, ohne den Serverbetrieb zu beeinträchtigen.
Schritt 1:
Wenn Sie das Nginx-Programm aktualisieren, ersetzen Sie zunächst die alte Programmdatei durch das neue Programm. Nach dem Kompilieren und Installieren wird das neue Programm direkt in das Nginx-Installationsverzeichnis kompiliert.
Schritt 2: Führen Sie den Befehl aus
kill -USR2 Die Hauptprozessnummer oder der Prozessdateiname der alten Version des Programms
Zu diesem Zeitpunkt benennt der alte Nginx-Hauptprozess seine eigene Prozessdatei in um. oldbin und führen Sie dann die neue Version von Nginx aus. Der neue und der alte Nginx laufen zusammen, um Anfragen zu verarbeiten.
Zu diesem Zeitpunkt müssen Sie die alte Version von Nginx schrittweise stoppen. Geben Sie den Befehl ein:
kill -WINCH alte Moderatorprozessnummer
Der alte Arbeitsprozess wird langsam beendet, wenn die Aufgabe abgeschlossen ist Der Arbeitsprozess der neuen Version von Nginx wird schrittweise den Arbeitsprozess der alten Version ersetzen.

An diesem Punkt können wir uns entscheiden, die neue Version zu verwenden oder zur alten Version zurückzukehren.
Neuen/alten Arbeitsprozess starten, ohne die Konfiguration neu zu laden
kill -HUP die alte/neue Master-Prozessnummer
Alten/neuen Prozess ordnungsgemäß schließen
kill -QUIT die alte/neue Master-Prozessnummer
Wenn zu diesem Zeitpunkt ein Fehler gemeldet wird, der darauf hinweist, dass noch nicht beendete Prozesse vorhanden sind, verwenden Sie den folgenden Befehl, um zuerst den alten/neuen Arbeitsprozess und dann die Hauptprozess-ID zu schließen:
kill - TERM alte/neue Arbeitsprozess-ID

Auf diese Weise müssen Sie nur die neue Moderatorprozess-ID in den obigen Schritten verwenden, wenn Sie eine neue Version verwenden möchten. Sie müssen in den obigen Schritten nur die alte Moderatorprozess-ID bedienen.

Die oben genannten sind einige grundlegende Vorgänge von Nginx. Ich hoffe, dass Nginx diese Vorgänge in Zukunft besser verarbeiten kann. Es ist am besten, Nginx-Befehle zu verwenden, anstatt Systemsignale an den Nginx-Prozess zu senden.


Das Obige stellt die allgemeinen Befehle für die tägliche Wartung von Nginx vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Serialisierung von ArraysNächster Artikel:Serialisierung von Arrays