Niedawno badałem różnice między Apache a Nginx i jestem zdezorientowany, co powinienem wybrać.
Przeprowadziłem pewne poszukiwania, ale nie ma definitywnego porównania między nimi i zastanawiałem się, czy ktoś tutaj mógłby wyrazić swoje opinie na temat różnic między nimi.
Moja obecna wiedza pozwala mi zrozumieć, że mod_php jest szybszy i bezpieczniejszy niż fastcgi, jednak Apache jest znacznie gorszy, jeśli chodzi o jednoczesne połączenia i zużycie pamięci.
Moja strona korzysta z długiego sondowania, ale ma bazę internetową inną niż AJAX (tj. Apache z długim sondowaniem u góry).
Moje oryginalne rozwiązanie problemów z pamięcią Apache polegało na wysyłaniu długiego odpytywania przez node.js, a następnie tak, aby node.js uzyskiwał dostęp do Apache co 2 sekundy, w takim przypadku Apache nie miałoby otwartego połączenia, ale zamiast tego node.js. Doszedłem do wniosku, że to może nie być wystarczająco dobre i szukam różnych rozwiązań. Nadal jestem zainteresowany tym, czy mój oryginalny pomysł zadziałałby.
Więc co jest lepsze dla nowoczesnej sieci? Apache czy Nginx?
Aktualizacja: Wszystkie podane sugestie były dobre i aktualne. Poszedłem z oryginalnym drugim pomysłem, który polega na użyciu pełnego serwera Nginx. Jestem zadowolony, że będąc serwerem dedykowanym, nie mogłem cierpieć z powodu problemów związanych z bezpieczeństwem od fastcgi, a ponieważ moje długie skrypty odpytywania muszą być napisane w PHP, potrzebuję serwera, który poradzi sobie z jednoczesnym połączeniem przy dużym obciążeniu, a Apache po prostu nie może tego zrobić bez względu na to, jak bardzo Zmieniam strukturę, wciąż będzie głodna pamięci.
Zaznaczyłem odpowiedź Martina F, ponieważ udzielił tak jasnej i kompletnej odpowiedzi na moje pytania, że uważam, że zasługuje na ocenę, jednak wszystkie trzy odpowiedzi były dobre i prawidłowe i zdecydowanie rozważą użycie odwrotnego proxy dla innej witryny, której jestem właścicielem ponieważ właśnie znalazłem coś bardzo, bardzo kool, co Nginx może zrobić w proxy.
Dzięki,
źródło
Sugerowałbym uruchomienie nginx jako odwrotnego proxy. Będzie obsługiwał wszystkie pliki statyczne i buforowane (tam, gdzie jest znacznie szybszy niż Apache / mniej pamięci), a następnie przekaże wszystkie żądania zawartości dynamicznej do Apache.
źródło
Nie jestem pewien, czy mod_php jest szybszy niż jego alternatywy, gdzie to przeczytałeś? Zrobiłem kilka testów laboratoryjnych z nginx + php-fpm, i z tego, co zmierzyłem, bije każda inna konfiguracja.
Spójrz na tę konfigurację: http://interfacelab.com/nginx-php-fpm-apc-awesome/
Skonfigurowałem go prawie tak samo, z tym wyjątkiem, że używam pakietów PHP z http://www.dotdeb.org/ - który zawiera pakiet php-fpm i gotowy skrypt init. Nie używam memecache ani syck.
źródło