Was ist schneller bei der Bereitstellung von PHP-Seiten, Apache oder NGINX

15

Ich habe viel über die Hauptvorteile von NGINX über Apache für die Bereitstellung statischer Dateien gelesen . Ich habe jedoch noch nie einen Artikel über Apache vs NGINX für die Bereitstellung von PHP-Seiten gesehen.

Frage: Was ist schneller bei der Bereitstellung von PHP- Seiten, Apache oder NGINX?

Raedwald
quelle

Antworten:

9

Ich persönlich denke, Nginx bietet die richtige Aufteilung zwischen den Dingen, die es selbst ausführt (Empfangen und Verarbeiten von HTTP-Anfragen) und den Aufgaben, die es an andere Prozesse delegiert (dynamische Seitengenerierung). Während es weniger Aufwand ist, Apache so einzurichten, dass PHP-Anfragen bearbeitet werden, ist das Ausführen von allem in Apache ein gewisses Sicherheits- und Konfigurationsproblem (alle Dateien, auf die von allen Skripten zugegriffen wird, die von allen Benutzern auf dem Server ausgeführt werden, müssen für den Benutzer lesbar / schreibbar sein) dass Apache als ausgeführt wird, was bedeutet, dass die PHP-Skripte eines Benutzers die Daten anderer Benutzer anzeigen können); Das Ausführen jeder PHP-Site als eigener Benutzer in einem eigenen FastCGI-Kontext ist eine viel bessere Option (auf Kosten einer etwas umfangreicheren Erstkonfiguration, bis Sie die Automatisierung der Site-Erstellung aktiviert haben, um das Richtige zu tun).

Was "schneller" anbelangt, wird Apache mit mod_php bei einer einzelnen Anforderung wahrscheinlich schneller sein, solange die Maschine nicht über eingeschränkte Ressourcen verfügt (die Weitergabe an einen externen FCGI-Listener und dann wieder zurück erfolgt nicht ganz so schnell). Apache ist jedoch viel fetter ( besonders wenn es mit mod_php läuft), so dass Sie mehr Verkehr mit nginx bedienen können, bevor Sie auf eine größere Box upgraden müssen.

womble
quelle
5

Der Autor von nginx gibt an, dass nginx darauf abzielt, statische Dateien bereitzustellen und als Frontend Anforderungen weiterzuleiten, die dynamische Seiten an andere Server wie Apache erfordern.

Eine andere gute Idee ist, die dynamische Anfrage von Apache mit nginx zwischenzuspeichern, wenn Daten selten aktualisiert werden, z. B. ein archivierter Blog-Beitrag.

flashnik
quelle
2

In den meisten Fällen Nginx. Für Highload-Projekte ist nginx + php + php-fpm eine ausgezeichnete Wahl.

Valery Viktorovsky
quelle