Heim  >  Artikel  >  Backend-Entwicklung  >  Grundlegende Einführung in Nginx (basierend auf der offiziellen Dokumentation)

Grundlegende Einführung in Nginx (basierend auf der offiziellen Dokumentation)

WBOY
WBOYOriginal
2016-08-08 09:20:12953Durchsuche

Nginx verfügt über einen Master-Prozess und mehrere Worker-Prozesse. Der Hauptzweck des Master-Prozesses besteht darin, die Konfiguration zu lesen und zu verwalten. Worker-Prozesse führen die eigentliche Verarbeitung von Anforderungen durch Mechanismen zur effizienten Verteilung von Anforderungen auf Worker-Prozesse. Die Anzahl der Worker-Prozesse ist in der Konfigurationsdatei definiert und kann für eine bestimmte Konfiguration festgelegt oder automatisch an die Anzahl der verfügbaren CPU-Kerne angepasst werden (siehe worker_processes).

Die Funktionsweise von Nginx und seinen Modulen wird in der Konfigurationsdatei festgelegt. Standardmäßig heißt die Konfigurationsdatei nginx.conf und wird im Verzeichnis /usr/local/nginx/conf, /etc/nginx oder /usr abgelegt /local/etc/nginx.

nginx besteht aus einem Master-Prozess und mehreren Worker-Prozessen. Der Master-Prozess wird hauptsächlich zum Lesen von Konfigurationsdateien und zum Verwalten von Worker-Prozessen verwendet. Nginx basiert auf dem Ereignismodell und kann Arbeitsprozesse effizient nutzen, um Anfragen entsprechend den Eigenschaften des Betriebssystems zu bearbeiten. Die Anzahl der Worker-Prozesse wird in der Konfigurationsdatei definiert. Sie kann auch über eine bestimmte Konfigurationsdatei definiert werden oder ihre Anzahl kann automatisch anhand der Anzahl der CPU-Kerne bestimmt werden.
Der Arbeitsmodus von Nginx und zugehörigen Modulen wird durch Konfigurationsdateien festgelegt. Standardmäßig heißt die Konfigurationsdatei nginx.conf und befindet sich im Pfad /usr/local/nginx/conf oder /etc/nginx oder /usr/local/etc/nginx.

Die folgenden Vorgänge beziehen sich auf das Starten, Herunterfahren und Neuladen von Konfigurationsdateien von nginx

Starten, Stoppen und Neuladen der Konfiguration

Zum Starten nginx, führen Sie die ausführbare Datei aus, indem Sie die ausführbare Datei mit dem Parameter -s aufrufen. Verwenden Sie die folgende Syntax:

nginx -s <em>signal</em>

Where Signal kann eines der folgenden sein:

  • stop – schnelles Herunterfahren
  • quit – ordnungsgemäßes Herunterfahren
  • reload – Neuladen die Konfigurationsdatei
  • reopen – erneutes Öffnen der Protokolldateien

Um beispielsweise Nginx-Prozesse zu stoppen und darauf zu warten, dass die Worker-Prozesse mit der Bearbeitung aktueller Anforderungen fertig sind, kann der folgende Befehl lauten ausgeführt:

nginx -s quit
Dieser Befehl sollte unter demselben Benutzer ausgeführt werden, der nginx gestartet hat.

Änderungen in der Konfigurationsdatei werden erst übernommen, wenn der Befehl ausgeführt wird Die Neuladekonfiguration wird an nginx gesendet oder neu gestartet. Um die Konfiguration neu zu laden, führen Sie Folgendes aus:

nginx -s reload

Sobald der Masterprozess das Signal zum Neuladen der Konfiguration erhält, überprüft er die Syntaxgültigkeit der neue Konfigurationsdatei und versucht, die darin bereitgestellte Konfiguration anzuwenden. Wenn dies erfolgreich ist, startet der Master-Prozess neue Worker-Prozesse und sendet Nachrichten an alte Arbeitsprozesse, in denen sie zum Herunterfahren aufgefordert werden, macht der Master-Prozess die Änderungen rückgängig und arbeitet mit der alten Konfiguration weiter. Dabei erhält er den Befehl, herunterzufahren, keine neuen Verbindungen mehr anzunehmen Behandeln Sie weiterhin aktuelle Anfragen, bis alle derartigen Anfragen bearbeitet sind.


Sobald Nginx gestartet ist, können Sie den Befehl nginx -s [signal] verwenden control nginx. [signal] kann der folgende Befehl sein:

  • stop – Schnellstopp
  • quit – Reibungsloses Herunterfahren
  • reload – Konfigurationsdatei neu laden
  • reopen – Protokolldatei erneut öffnen
Warten Sie beispielsweise, bis der Arbeitsprozess die Verarbeitung der aktuellen Anfrage abgeschlossen hat Schließen Sie dann Nginx und Sie können es verwenden

nginx -s quit

Wenn die Konfigurationsdatei geändert wird, ist sie erst dann neu, wenn Nginx neu gestartet wird oder einen Befehl zum Neuladen erhält Die Konfigurationsdatei wird wirksam, indem Sie

verwenden
nginx -s reload

Sobald der Masterprozess das Signal zum Neuladen der Konfigurationsdatei erhält, prüft er zunächst, ob die neue Konfigurationsdatei Syntaxfehler aufweist. Wenn keine Fehler vorliegen, wird der Masterprozess übernimmt die neue Konfiguration und startet einen neuen Arbeitsprozess. Gleichzeitig wird der alte Arbeitsprozess benachrichtigt, dass er nicht mehr funktioniert. Andernfalls verwendet der Master-Prozess bei einem Fehler in der Konfigurationsdatei weiterhin die alte Konfiguration und die alten Worker-Prozesse funktionieren weiterhin. Sobald der Master-Prozess den Worker-Prozess benachrichtigt, dass er nicht mehr funktioniert, stoppt der Worker-Prozess zunächst den Empfang von Verbindungen, verarbeitet dann alle aktuellen Anforderungen und beendet den Prozess dann, um die Ausführung zu beenden.

Das Obige stellt die grundlegende Einführung von Nginx vor (basierend auf offiziellen Dokumenten), 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