Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Unterschied zwischen PHP-Server Nginx und Apache?

Was ist der Unterschied zwischen PHP-Server Nginx und Apache?

青灯夜游
青灯夜游Original
2022-08-11 17:08:583262Durchsuche

Unterschiede: 1. Apache ist ein synchrones Multiprozessmodell, eine Verbindung entspricht einem Prozess, während Nginx asynchron ist, mehrere Verbindungen einem Prozess entsprechen können und Nginx eine höhere Ladekapazität als Apache hat. 2. Apache ist geeignet für die Verarbeitung dynamischer Anfragen, während Nginx für die Verarbeitung statischer und umgekehrter Anforderungen geeignet ist; 3. die Nginx-Konfiguration ist einfach, während die Apache-Konfiguration komplex ist; Nginx hat relativ mehr Fehler.

Was ist der Unterschied zwischen PHP-Server Nginx und Apache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer

Nginx

  • Leicht, in C geschrieben, derselbe Webdienst beansprucht weniger Zeit Speicher und Ressourcen

  • Anti-Parallelität, Nginx verwendet Epoll und Kqueue als Entwicklungsmodell, die Verarbeitung von Anforderungen erfolgt asynchron und nicht blockierend, und die Ladekapazität ist viel höher als bei Apache, während Apache blockiert. Bei hoher Parallelität kann Nginx einen geringen Ressourcenverbrauch und eine hohe Leistung aufrechterhalten, während Apache anfällig für einen Anstieg der Anzahl von Prozessen und Denial-of-Service ist, wenn die PHP-Verarbeitung langsam ist oder der Front-End-Druck hoch ist.

  • nginx verarbeitet statische Dateien gut und die statische Verarbeitungsleistung ist mehr als dreimal höher als die von Apache.

  • Das Design von nginx ist hochmodular und das Schreiben von Modulen ist relativ einfach. und die reguläre Konfiguration macht viele Dinge einfacher. Und nach dem Ändern der Konfiguration können Sie mit -t testen, ob es Probleme mit der Konfiguration gibt. Wenn Sie beim Neustart feststellen, dass die Konfiguration falsch ist . Als Lastausgleichsserver unterstützt Nginx den 7-Schicht-Lastausgleich.

  • Nginx selbst ist ein Reverse-Proxy-Server und kann als sehr guter Mail-Proxy-Server verwendet werden kann fast 7*24 ohne Unterbrechung laufen, auch wenn es mehrere Monate läuft, muss es nicht neu gestartet werden und kann ohne Unterbrechung verwendet werden. Die Softwareversion ist aktiv und verschiedene Hochleistungsmodule werden schnell erstellt

  • Apache
  • Das Umschreiben von Apache ist leistungsfähiger als Nginx. Wenn das Umschreiben häufig ist, verwenden Sie Apache. Bisher hat Apache so viele Module entwickelt , im Grunde ist alles zu finden, was man sich vorstellen kann
  • Apache ist ausgereifter, hat weniger Fehler, Nginx hat relativ mehr Fehler
  • Apache ist super stabil

Apache Die Unterstützung für PHP ist relativ einfach Muss in Verbindung mit anderen Backends verwendet werden, ist Nginx in dieser Hinsicht nutzlos. Dynamische Anforderungen müssen von Apache ausgeführt werden.

  • Apache ist immer noch der aktuelle Mainstream mit umfangreichen Funktionen, ausgereifter Technologie und Entwicklungsgemeinschaft zu einem Prozess, und Nginx ist asynchron, mehrere Verbindungen (10.000 Ebenen) können einem Prozess entsprechen

  • Im Allgemeinen wird für Webdienste, die Leistung erfordern, Nginx verwendet. Wenn Sie keine Leistung benötigen und nur Stabilität wünschen, sollten Sie die verschiedenen Funktionsmodule von Apache in Betracht ziehen. Das SSL-Modul ist beispielsweise besser als das erstere und verfügt über mehr konfigurierbare Elemente. Das Netzwerk-E/A-Modell von epoll (kqueue auf freebsd) ist der Hauptgrund für die hohe Verarbeitungsleistung von nginx, aber epoll gewinnt nicht in allen Fällen. Wenn es selbst statische Dienste bereitstellt, gibt es nur wenige Dateien und das ausgewählte Modell von Apache leistungsfähiger als Epoll. Dies ist natürlich nur eine Annahme, die auf den Prinzipien des Netzwerk-IO-Modells basiert. Die tatsächliche Anwendung muss noch in der Praxis getestet werden.
  • Da Nginx schneller als Apache ist, warum ersetzt Nginx nicht Apache?
  • Da die beiden Dinge unterschiedliche Schwerpunkte haben, verfügt Apache selbst über viele integrierte Dinge und kann fast alle Webanwendungen ohne die Hilfe anderer Dinge unterstützen. Nginx ist anders. Es bietet Vorteile bei der statischen Dateiverarbeitung und der hohen Parallelität.
  • Apache konzentriert sich auf Vollständigkeit und Stabilität, während Nginx auf Leichtigkeit und hohe Effizienz setzt. Oft werden Apache und Nginx zusammen vor Apache konfiguriert und zum Blockieren von Anfragen nach statischen Dateien (Ressourcenanfragen) verwendet (die meisten davon) werden die Inhalte, die Nginx nicht verarbeiten kann, zur Verarbeitung an Apache weitergeleitet. Sollen wir Nginx oder Apache wählen?
  • Die beliebte Lanmp-Architektur verwendet jetzt gleichzeitig Apache und Nginx. Statische Webseiten werden von Nginx verarbeitet, und dynamische Webseiten werden von Apache verarbeitet, sodass die Serverleistung maximiert werden kann.
  • Die allgemeine Lösung besteht darin, dass der Front-End-Nginx Anti-Parallelität aufweist und der Back-End-Apache-Cluster besser zusammenarbeitet.
  • Weitere Programmierkenntnisse finden Sie unter:
Programmiervideo

! !

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen PHP-Server Nginx und Apache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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