Ich habe kürzlich die Unterschiede zwischen Apache und Nginx untersucht und bin verwirrt, welche ich wählen soll.
Ich habe einige Nachforschungen angestellt, aber es gibt keinen endgültigen Vergleich zwischen den beiden und ich habe mich gefragt, ob jemand hier seine Ansichten zu den Unterschieden zwischen den beiden äußern könnte.
Nach meinem derzeitigen Kenntnisstand verstehe ich, dass mod_php schneller und sicherer als fastcgi ist, Apache jedoch viel schlechter, wenn es um gleichzeitige Verbindungen und den Speicherverbrauch geht.
Meine Website verwendet viel langes Polling, hat aber eine Nicht-AJAX-Webbasis (dh Apache mit langem Polling).
Meine ursprüngliche Lösung für Apaches Speicherprobleme bestand darin, das lange Polling durch node.js zu senden und node.js dann alle 2 Sekunden auf Apache zuzugreifen. In diesem Fall hätte Apache keine offene Verbindung, sondern node.js. Ich bin zu der Erkenntnis gelangt, dass dies möglicherweise nicht gut genug ist, und suche nach unterschiedlichen Lösungen. Ich bin immer noch daran interessiert, ob meine ursprüngliche Idee funktioniert hätte.
Was ist also besser für das moderne Web? Apache oder Nginx?
Update: Alle Vorschläge waren gut und gültig. Ich habe mich für die ursprüngliche zweite Idee entschieden, einen vollständigen Nginx-Server zu verwenden. Ich bin zufrieden, dass ich als dedizierter Server keine Sicherheitsprobleme mit fastcgi haben kann, und da meine langen Abfrageskripten in PHP geschrieben werden müssen, benötige ich einen Server, der mit gleichzeitigen Verbindungen mit hoher Last umgehen kann, und Apache kann das einfach nicht, egal wie viel Ich ändere die Struktur, es wird immer noch speicherhungrig sein.
Ich habe die Antwort von Martin F markiert, da er meine Fragen so klar und vollständig beantwortet hat, dass ich der Meinung bin, dass er die Note verdient. Alle drei Antworten waren jedoch gut und gültig und werden auf jeden Fall die Verwendung von Reverse Proxy für eine andere Website untersuchen, die ich besitze da ich gerade etwas sehr sehr sehr Kooles gefunden habe, das Nginx beim Proxying tun kann.
Vielen Dank,
quelle
Ich würde vorschlagen, Nginx als Reverse-Proxy auszuführen. Es verarbeitet alle Ihre statischen und zwischengespeicherten Dateien (wo es erheblich schneller ist als Apache / weniger Speicheraufwand) und leitet dann alle Anforderungen für dynamischen Inhalt an Apache weiter.
quelle
Ich bin mir nicht sicher, ob mod_php schneller ist als seine Alternativen. Wo hast du das gelesen? Ich habe einige Labortests mit nginx + php-fpm durchgeführt, und was ich gemessen habe, übertrifft jedes andere Setup.
Schauen Sie sich dieses Setup an: http://interfacelab.com/nginx-php-fpm-apc-awesome/
Ich habe es fast gleich eingerichtet, außer dass ich PHP-Pakete von http://www.dotdeb.org/ verwende - die ein PHP-FPM-Paket und ein einsatzbereites Init-Skript enthalten. Ich benutze weder Memecache noch Syck.
quelle