Heim Backend-Entwicklung PHP-Tutorial Vergleich zwischen Apache und NGNIX

Vergleich zwischen Apache und NGNIX

Aug 08, 2016 am 09:21 AM
apache fastcgi nbsp nginx php

1. PHP-Betriebsmodus unter Apache und ngnix.

1) Unter Apache gibt es drei Betriebsmodi: CGI-Modus, modularer Modus und FastCGI-Modus.

Der CGI-Modus ist ist eine relativ primitive Methode, ruft php.exe jedes Mal auf, wenn es eine erhält Anfrage, Parsen von php.ini, Laden von DLL usw. ist natürlich langsam.

Im modularen Modus führt Apache PHP standardmäßig auf diese Weise aus, d. h. es kompiliert PHP in sich selbst Da es sich um ein eigenes Modul handelt, muss bei der Verarbeitung von PHP-Skripten nicht das Programm php.exe aufgerufen werden. Nur der Apache-Prozess übernimmt den gesamten Prozess, der relativ stabil ist.

Der FastCGI-Modus ist eine aktualisierte Version des CGI-Modus, implementiert Technische Funktionen ähnlich dem Verbindungspool halten die Verbindung zum Hintergrund aufrecht. Sobald die Anfrage eintrifft, wird die Verbindung getrennt und die Verbindung zur nächsten Anfrage vorbereitet jedes Mal anrufen.

Blockierungstyp, für jede Anfrage wird ein Prozess erstellt , im Gegensatz zu Nginx, das mehrere Anfragen mit demselben Prozess verarbeiten kann.

2), CGI wird unter dem Nginx-Server nicht unterstützt und läuft standardmäßig im FastCGI-Modus und da es asynchron und nicht blockierend ist, unterstützt es Szenarien mit hoher Parallelität .

2. Vorteile von Nginx gegenüber Apache: 1 und beansprucht weniger Speicher und Ressourcen als Apache 2. Anti-Parallelität, Nginx verarbeitet Anfragen asynchron und nicht blockierend, während Apache blockiert (synchroner Multiprozess) , Nginx kann bei hoher Parallelität einen geringen Ressourcenverbrauch und eine hohe Leistung aufrechterhalten 3 Hochmodulares Design, das Schreiben von Modulen ist relativ einfach 4 Community ist aktiv und verschiedene Hochleistungsmodule werden schnell produziert

3. Vorteile von Apache gegenüber Nginx:

1. Rewrite, leistungsfähiger als Nginx's Rewrite

2. Die Verarbeitungsleistung dynamischer Seiten ist besser als bei Nginx

3. Es gibt so viele Module, dass man im Grunde alles finden kann, was man sich vorstellen kann

4. Wenige Fehler, Nginx hat relativ viele Fehler

5. Super stabil

Existenz ist der Grund. Im Allgemeinen Webdienste, die Leistung erfordern, verwenden Nginx. Wenn Sie keine Leistung benötigen und nur Stabilität wollen, dann verwenden Sie Apache . Die verschiedenen Funktionsmodule des letzteren sind besser implementiert als das erstere. Beispielsweise ist das SSL-Modul besser als das erstere und verfügt über mehr konfigurierbare Elemente. Hier ist zu beachten, dass das Netzwerk-E/A-Modell von epoll (kqueue auf freebsd) der Hauptgrund für die hohe Verarbeitungsleistung von Nginx ist, aber nicht alle Situationen sind der Gewinner von epoll. Wenn es statische Dienste bereitstellt, nur wenige Dateien, kann das ausgewählte Modell von Apache verwendet werden Seien Sie 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 getestet werden, bevor darüber gesprochen wird.


4. Als Webserver: Im Vergleich zu Apache verbraucht Nginx weniger Ressourcen , Unterstützt mehr gleichzeitige Verbindungen und spiegelt eine höhere Effizienz wider. Dies macht Nginx besonders bei Webhosting-Anbietern beliebt. Bei hoher Verbindungsgleichzeitigkeit ist Nginx eine gute Alternative zum Apache-Server: Nginx ist eine der von Chefs im virtuellen Host-Geschäft in den USA häufig gewählten Softwareplattformen. Sie kann Antworten von bis zu 50.000 gleichzeitigen Verbindungen unterstützen. Danke an Nginx, dass Sie sich für epoll und kqueue als Entwicklungsmodell für uns entschieden haben Nginx als Lastausgleichsserver: Nginx kann Rails- und PHP-Programme nicht nur direkt für die externe Bereitstellung unterstützen intern, unterstützt ihn aber auch als Lastausgleichsserver und stellt externe Dienste bereit. Nginx ist in C geschrieben und sein Systemressourcenaufwand und die CPU Die Nutzungseffizienz ist viel besser als bei Perlbal. Als Mail-Proxy-Server: Nginx ist auch ein sehr guter Mail-Proxy-Server (einer der ersten Zwecke bei der Entwicklung dieses Produkts war auch die Verwendung als Mail-Proxy-Server). , Last.fm beschreibt das erfolgreiche und wunderbare Nutzungserlebnis. Nginx ist ein Server, der sehr einfach zu installieren ist, eine sehr übersichtliche Konfigurationsdatei hat (er kann auch Perl-Syntax unterstützen) und sehr Wenige Fehler: Nginx ist sehr einfach zu starten und kann fast rund um die Uhr ohne Unterbrechung laufen. Auch wenn es mehrere Monate läuft, ist kein Neustart erforderlich


5. Die Nginx-Konfiguration ist einfach, Apache ist komplex. Die statische Verarbeitungsleistung von Nginx ist besser als Apache Mehr als dreimal höher Apaches Unterstützung für PHP ist relativ einfach, Nginx muss mit anderen Backends verwendet werden Apache hat mehr Komponenten als Nginx Jetzt ist Nginx die erste Wahl für Webserver


6. Der Hauptunterschied besteht darin, dass Apache ein synchrones Multiprozessmodell ist , eine Verbindung entspricht zu einem Prozess; nginx ist asynchron , mehrere Verbindungen (10.000 Ebenen) können einem Prozess entsprechen


7. Nginx kann statische Dateien gut verarbeiten und verbraucht weniger Speicher. Es besteht jedoch kein Zweifel daran, dass Apache derzeit immer noch der Mainstream ist und über viele umfangreiche Funktionen verfügt Wenn festgestellt wird, dass Nginx den Anforderungen entspricht, ist die Verwendung von Nginx eine kostengünstigere Methode. Apache hat den Nachteil, dass es keine Multi-Core-Verarbeitung unterstützt Es wird empfohlen, Nginx als Frontend und Apache als Backend zu verwenden. Es wird empfohlen, dass große Websites die Cluster-Funktion von Nginx verwenden. Informationen zur Konfiguration von LNMPA finden Sie unter http://www.freehao123.com/lnmpa/ 8. Gemessen an der persönlichen Nutzung in der Vergangenheit ist die Ladekapazität von Nginx viel höher als die von Apache. Der neueste Server verwendet auch Nginx. Darüber hinaus können Sie nach dem Ändern der Konfiguration von Nginx testen, ob die Konfiguration korrekt ist. Beim Neustart von Apache wird festgestellt, dass die Konfiguration falsch ist und ich beim Vornehmen von Änderungen sehr vorsichtig sein werde Nginx Anti-Parallelität, Back-End-Apache-Cluster , Auch die Zusammenarbeit ist gut.

9. Nginx ist für die Verarbeitung dynamischer Anfragen unbrauchbar. Im Allgemeinen müssen dynamische Anfragen von Apache und Nginx ausgeführt werden ist nur für statische und umgekehrte Anfragen geeignet. 10. Aus meiner persönlichen Erfahrung ist nginx ein sehr guter Front-End-Server mit guter Lastleistung , in Laoben Nginx einschalten und verwenden Sie Webbench, um problemlos 10.000 statische Dateianforderungen zu simulieren. Apache bietet eine gute Unterstützung für Sprachen wie PHP. Darüber hinaus verfügt Apache über ein starkes Support-Netzwerk und wurde schon länger entwickelt als Nginx. 11. Es gibt Zwei Hauptgründe, warum Nginx besser ist als Apache: 1. Nginx selbst ist ein Reverse-Proxy-Server. 2. Nginx unterstützt 7-Layer-Lastausgleich ; besser als Apache unterstützt eine höhere Parallelität, aber laut NetCraft-Statistiken machte Apache im April 2011 immer noch 62,71 % aus, während Nginx 7,35 % betrug. Daher ist Aapche aufgrund seiner ausgereiften Technologie und Entwicklung im Allgemeinen immer noch die erste Wahl für die meisten Unternehmen Die Community hat bereits eine sehr gute Leistung. 12. Ihre Anforderungen an den Webserver bestimmen Ihre Wahl. Groß In einigen Fällen ist Nginx besser als APACHE, z. B. statische Dateiverarbeitung, PHP-CGI-Unterstützung, Reverse-Proxy-Funktion, Front-End-Cache, Aufrechterhaltung von Verbindungen usw. existieren Wenn im Apache+PHP-Modus (Prefork) die PHP-Verarbeitung langsam ist oder der Front-End-Druck hoch ist, kann es leicht zu einem Anstieg der Anzahl der Apache-Prozesse kommen, was zu einem Denial-of-Service führt. 13. Sie können einen Blick auf das Nginx-Lua-Modul werfen: https://github.com/chaoslaw... Apache hat mehr Module als Nginx und kann direkt verwendet werden Lua ist die beliebteste Implementierung von Apache, warum? Die meisten Leute sind zu faul, um auf Nginx zu aktualisieren oder neue Dinge zu lernen Die Konfiguration ermöglicht viele Dinge. Sie wird einfach und effizient, benötigt weniger Ressourcen und verfügt über leistungsstarke Proxy-Funktionen. Sie eignet sich sehr gut für Front-End-Antwortserver 13 >Apache hat Vorteile bei der Handhabung von Dynamik und Nginx-Parallelität. Die Leistung ist relativ gut und die CPU-Speicherauslastung ist gering. Wenn häufig neu geschrieben wird, ist es besser, Apache zu verwenden Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.
Das Obige stellt den Vergleich zwischen Apache und NGNIX vor, einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.
Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Zweck von PHP: Erstellen dynamischer Websites Zweck von PHP: Erstellen dynamischer Websites Apr 15, 2025 am 12:18 AM

PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

PHP und Python: Code Beispiele und Vergleich PHP und Python: Code Beispiele und Vergleich Apr 15, 2025 am 12:07 AM

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP: Datenbanken und serverseitige Logik bearbeiten PHP: Datenbanken und serverseitige Logik bearbeiten Apr 15, 2025 am 12:15 AM

PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

PHP vs. Python: Anwendungsfälle und Anwendungen PHP vs. Python: Anwendungsfälle und Anwendungen Apr 17, 2025 am 12:23 AM

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

Warum PHP verwenden? Vorteile und Vorteile erläutert Warum PHP verwenden? Vorteile und Vorteile erläutert Apr 16, 2025 am 12:16 AM

Zu den Kernvorteilen von PHP gehören einfacher Lernen, starke Unterstützung für Webentwicklung, reiche Bibliotheken und Rahmenbedingungen, hohe Leistung und Skalierbarkeit, plattformübergreifende Kompatibilität und Kosteneffizienz. 1) leicht zu erlernen und zu bedienen, geeignet für Anfänger; 2) gute Integration in Webserver und unterstützt mehrere Datenbanken. 3) leistungsstarke Frameworks wie Laravel; 4) hohe Leistung kann durch Optimierung erzielt werden; 5) mehrere Betriebssysteme unterstützen; 6) Open Source, um die Entwicklungskosten zu senken.

See all articles