Betrieb stoppen
Der Stoppvorgang wird durch Senden eines Signals an den Nginx-Prozess ausgeführt (lesen Sie bitte im Linux-Artikel nach, was ein Signal ist)
Schritt 1: Fragen Sie den Nginx ab Hauptprozessnummer
ps -ef |.
Suchen Sie nach dem Masterprozess in der Prozessliste. Seine Nummer ist die Hauptprozessnummer.
Schritt 2: Signal sendenNginx ordnungsgemäß stoppen:
kill - Hauptprozessnummer beendenNginx schnell stoppen:
kill -TERM Hauptprozessnummer Nginx zwangsweise stoppen:
pkill -9 nginx
Wenn außerdem der PID-Dateispeicherpfad in nginx.conf konfiguriert ist, In der Datei wird die Nginx-Hauptprozessnummer gespeichert. Wenn sie nicht angegeben wird, wird sie im Nginx-Protokollverzeichnis abgelegt. Mit der PID-Datei müssen wir nicht zuerst die Hauptprozessnummer von Nginx abfragen, sondern senden direkt ein Signal an Nginx. Der Befehl lautet wie folgt:
kill -Signal type '/usr/nginx/. logs/nginx.pid'Reibungsloser NeustartWenn Sie die Konfiguration ändern, müssen Sie Nginx neu starten. Müssen Sie Nginx zuerst schließen und dann ö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
/usr/nginx/sbin/nginx -s reload
Hinweis: Nach dem Ändern der Konfigurationsdatei ist es am besten, zu überprüfen, ob die geänderte Konfigurationsdatei korrekt ist, um Nginx-Fehler nach dem Neustart zu vermeiden, die Auswirkungen haben 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
/usr/nginx/ sbin/nginx -t
Reibungsloses Upgrade
Wenn das auf dem Server ausgeführte Nginx aktualisiert, hinzugefügt oder gelöscht werden muss, müssen wir dies tun Stoppen Sie den Server und nehmen Sie entsprechende Änderungen vor, sodass der Server für einen bestimmten Zeitraum nicht mehr bedient wird und Nginx verschiedene Upgrade-Aktionen durchführen kann, 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 ist die Der alte Nginx-Hauptprozess benennt die Prozessdatei in .oldbin um und führt 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 entscheiden, ob wir die neue Version verwenden oder zur alten Version zurückkehren.
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
Wenn Sie die alte Version wiederherstellen möchten, müssen Sie in den obigen Schritten nur die neue Moderatorprozess-ID verwenden In den obigen Schritten muss nur die alte Moderatorprozess-ID bedient werden.
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 Befehle zum Starten, Neustarten und Herunterfahren von Nginx vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.