Serwery Web
nginx vs Apache: który serwer obsługuje które obciążenie?
nginx i Apache to dwa silniki, na których można zbudować stos hostingowy, a walka kończy się w momencie nazwania obciążenia. nginx to sterowana zdarzeniami, zajmująca niewiele miejsca maszyna do obsługi treści statycznych i odwrotnego proxy; Apache to bogaty w moduły serwer aplikacji, którego katalogi zastępują, a ekosystem obsługuje hosting współdzielony. To jest uczciwa tabela decyzyjna stojąca za obydwoma dedykowanymi artykułami.
Kluczowe punkty
- Model współbieżności decyduje o przewadze: asynchroniczna pętla zdarzeń nginx obsługuje tysiące jednoczesnych połączeń z kilkoma procesami roboczymi, dlatego dominuje w warstwach obciążonych statycznie i z odwrotnym proxy; MPM zdarzeń Apache wypełnia większość tej luki, ale nadal przydziela więcej na połączenie na tym samym sprzęcie.
- Filozofia konfiguracji zderza się: Apache obsługuje .htaccess i nadpisania poszczególnych katalogów (wygoda przy zakładaniu hostingu współdzielonego), podczas gdy konfiguracja nginx jest płaska dla każdej witryny, zawiera pliki z dyscypliną ponownego ładowania; efekt dnia codziennego zależy od zespołu, kto i gdzie edytuje konfiguracje.
- Stos hybrydowy jest legalny, a nie wycofywanie się: nginx z przodu jako terminator TLS i serwer statyczny, Apache z tyłu aplikacji, to sprawdzony w boju kształt, który zachowuje narzędzia htaccess, jednocześnie przechwytując wydajność brzegową nginx; koszt to kolejny poziom rozwiązywania problemów i monitorowania.
- Tam, gdzie każdy silnik wygrywa bezpośrednio: nginx wygrywa z proxy wymagającym dużej liczby połączeń, pracą na krawędzi utrzymującą aktywność i powolnym wyczerpujeniem klientów; Apache wygrywa z konfiguracją poszczególnych katalogów, kompatybilnością starszych modułów i współdzielonym hostingiem klasy mod_security/mod_php, gdzie żaden inny ekosystem nie jest tak dojrzały.
- LiteSpeed to trzecia opcja, po którą sięga wiele hostów (omawia ją nasz dedykowany artykuł): zgodność Apache typu drop-in z współbieżnością sterowaną zdarzeniami, licencja na rdzeń, więc istnieje środkowa ścieżka „wymień Apache, zachowaj konfigurację” dla ekonomiki hostingu współdzielonego.
- Procedura decyzyjna, która sprawdza się w całej naszej kategorii serwerów internetowych: nazwij obciążenie (nginx na brzegu; Apache za aplikacjami obciążającymi htaccess), wyraźnie określ obie role w przypadku hybrydy, porównaj swój własny ruch (nie testy porównawcze z czasopism) i pamiętaj, że jest to jedna decyzja, którą możesz powtarzać, ponieważ oba silniki szczęśliwie współistnieją.
Notatka z praktyki
Klient, który nauczył nas nawyku stosu hybrydowego: nginx z przodu dla TLS i statyki, Apache z tyłu, niosący dwanaście lat wiedzy o htaccess, której nikt nie odważył się przepisać. Szczera odpowiedź nie brzmiała „migracja do nginx”, lecz „podaj obciążenie pracą według poziomu”. Nadal działają w tym kształcie, bez entuzjazmu i odznaczają się dbałością o czas pracy.
Częste pytania
Czy w ogóle musimy wybierać?
Nie: odwrotne proxy przed serwerem aplikacji ma normalny, nowoczesny kształt. Jedyną prawdziwą decyzją jest to, który silnik gdzie pójdzie; prowadzenie obu jest standardową praktyką, a nie przyznaniem się do porażki.
Co jest szybsze dla WordPressa?
Dzięki dobrym warstwom buforowania wszystkie trzy (nginx, Apache, LiteSpeed) dobrze obsługują WordPress; kolejność kończenia naszych testów sprowadzała się do dostrajania pamięci podręcznej, a nie silnika. Wybór silnika ma większe znaczenie na poziomach brzegowych i proxy niż za pamięcią podręczną.
Czego łatwiej się nauczyć?
Obu można się nauczyć w ciągu tygodnia w przypadku podstawowego hostingu wirtualnego i TLS; tarcia są różne: dokumentacja Apache jest bardziej znana weteranom branży, konfiguracja Nginx jest krótsza, ale wcześniej udostępnia pokrętła proxy.
Czy istnieją różnice w zabezpieczeniach, które mają znaczenie?
Obydwa zawierają CVE i oba są bezpieczne od razu po wyjęciu z pudełka w utrzymywanych wersjach; powierzchnią ryzyka jest powierzchnia konfiguracyjna, kultura .htaccess i starsze moduły dla Apache, moduły skompilowane przez strony trzecie oraz błędy w kolejności konfiguracji dla Nginx. Szybkość aktualizacji ma większe znaczenie niż marka silnika.
Jak Kinetikatech pomaga w serwery web
Szczerze mówiąc, większość zespołów trafia do nas po samodzielnych próbach: Configuration, optimization and security of web servers in production and development environments. Nasza usługa Optymalizacja prędkości i Zarządzanie serwerami istnieje po to, aby nie musieli Państwo poznawać serwery web na własnych błędach — zajmujemy się konfiguracją, monitoringiem i niespodziankami o 3 w nocy.