Nginx dzielonego hostingu wordpress

To jest gość post napisany Austin W. Gunter, Brand Ambasador Zarządzane WordPress Hosting Platformy WP silnika.

Rozwój WordPress została spleciona z Apache od samego początku. WordPress został zbudowany, aby Mu służono na Apache. Ostatnio Nginx wzrosła do wyeksponowany aby obsługiwać ruch z 11,4% wszystkich znanych ruchu.

Automattic przeniósł WordPress.com nad do Nginx, i udało WordPress WP hosty jak silnik i ZippyKid przyjęły technologii, jak również. WordPress.com publicznie oświadczył, że mają tysiące serwerów obsługujących setki tysięcy zapytań na sekundę. Spędzam większość moich dni mówimy o skomplikowanej technologii serwerów, ale nie znalazł dobry zasób rzeczywiście wyjaśnić w kategoriach konwersacyjnych, dlaczego Nginx jest cool, dlaczego ludzie go używać i jakie kompromisy są między nią a Apache. Ten post ma na celu wyjaśnić, co Nginx jest na wysokim poziomie, nie zapewnić „jak” dla ludzi, którzy mogą chcieć ją zainstalować samodzielnie.

Nginx wspólna hosting wordpress C10K stoi na współbieżne

Po pierwsze, Nginx i Apache nie są równe, ale to, co czyni je różni? Co sprawia, że ​​nadaje się do obsługi Nginx wysoka wydajność web hosting zadań - takich jak służąc rzeź jednoczesnych żądań, gdy post sprawia przednią stronę HackerNews lub Reddit? Co trzeba jeszcze Apache?

problem CK10

Nginx została opracowana częściowo rozwiązać problem C10K lub optymalizację oprogramowania serwera WWW do obsługi dużej liczby klientów w tym samym czasie. C10K oznacza jednocześnie dziesięć tysięcy połączeń. Gdy blogu uderza przednią stronę HackerNews lub Reddit, tysiące zwiedzających mogą przybyć na miejsce od razu. Nginx jest oparte na zdarzeniach i jest fantastyczne w reagowaniu na jednoczesnych żądań.

jednoczesnych połączeń

Nginx jest przeznaczony do obsługi tysięcy jednoczesnych połączeń o niskim zużyciu procesora. Jest to non-blocking serwer WWW zdarzeniami, przy użyciu jednego procesu (lub niewielką liczbę procesów) do obsługi połączeń z wykorzystaniem i walczył we / wy. Apache ma kilka modułów Multi-Processing ( „MPM”), ale dla większości systemów Linux, Apache domyślną jest „prefork” MPM. Apache zaleca stosowanie „pracownik” MPM chyba że używasz PHP - PHP, ponieważ nie jest bezpieczeństwo wątków. Fragment kodu jest bezpieczny wątku, jeśli tylko manipuluje współdzielonych struktur danych w sposób, który gwarantuje bezpieczne wykonanie przez wiele wątków jednocześnie. Nginx wydarzenie oparte na”konstrukcja pozwala na szybkie dostarczanie danych, a także z wielu równoczesnych połączeń, ale poświęcić zdolność do przetwarzania Apache PHP

Dodatkowo, Apache jest ograniczona przez liczbę wątków ma CPU do uruchomienia, a procesy Apache są kosztowne. Na 50-300MB na procesie, po procesów współbieżnych, domyślnie jest 256, wydajność Apache będzie się zmniejszać. Nginx, z drugiej strony, może obsłużyć 10000 równoczesnych połączeń z wykorzystaniem około 2MB pamięci, nigdy tarła nowych wątków lub procesów. To absurdalnie skalowalne.

hosting

Aktywa statyczne

Nginx jest królem obsługujących statykę. Gdzie Apache musi załadować do pamięci mod_php służyć żądania obrazu, Nginx dostarczy statykę takie jak obrazy, JavaScript, CSS, HTML, itp bezpośrednio do przeglądarki z jego niezwykle szybkie I / O. Koncepcyjnie, Nginx tylko przekazuje dane, nigdy jej przetwarzania, dlatego nie wymaga tak mało zasobów do uruchomienia.

Jak więc tłumaczyć WordPress PHP z Nginx? Apache często wiązki PHP z procesów, ale proces PHP Nginx musi być połączony z procesem zewnętrznych, takich jak FastCGI PHP-FPM lub HTTP. Można to zrobić dość łatwo. Co więcej, w wyniku procesów oddzielających rzeczywiście możemy zobaczyć więcej korzyści szybkość z Nginx. Będzie przekazania żądania do przetworzenia PHP zewnętrznie i wysłać odpowiedź z powrotem do przeglądarki.

Dodatkowo, mogą one być skonfigurowany do przetwarzania różnych wniosków na różnych serwerach. To wielka sprawa dla hostingowego lub administratora, ponieważ oznacza to, że mogą one określić, które żąda przejść do którego serwera, zmniejszając żądania zaległości. Oznacza to również, że procesy serwera i aplikacji mogą być wznowiona oddzielnie.

proxy buforowanie

WordPress.com znaczący sposób korzysta z możliwości Nginx do proxy_cache. Można zaprogramować Nginx do wysyłania żądań do zaplecza, ale w drodze powrotnej się mieć go trzymać wniosek na dysku dla „X sekund” tak, że kolejne wnioski mogą służyć stronę bez konieczności wrócić do Apache dla każdego nowego użytkownika.

3rd Party Moduły

Z Nginx zyskuje na znaczeniu, widzimy deweloperzy zaczynają tworzyć fajne moduły możemy skompilować pod Nginx, które dodają funkcjonalność możemy potrzebować. Jak w przypadku każdego projektu open-source, moduły te będą prawdopodobnie kluczowym źródłem innowacji na serwerze WWW.

Są pewne ogromne zalety. Ale ważne jest, aby pamiętać, że Nginx nie jest odpowiednim rozwiązaniem dla współdzielonych rozwiązań hostingowych, a to z pewnością nie jest to konieczne dla codziennego blogów WordPress, które nie widzą duże natężenie ruchu. Pod minimalnym ruchu, użytkownicy mogą nie zauważy żadnej różnicy prędkości pomiędzy Apache i Nginx. Chcesz służyć off Nginx WordPress jeśli można oczekiwać, aby pewnego dnia wystąpić skoki ruchu, a chcesz zachować swojej witryny i ładowanie stron w 1.5seconds podrzędnych. Pod przetwarzania zdarzeń oparte ładunkowej nginx, w zdolność do szybkiego służyć statykę i wnioski proxy_cache dać mu możliwość służenia dziesiątki tysięcy połączeń na 2MB CPU. W tym samym ruch spowodowałby Apache popełnienia Harakiri.

Ponieważ Nginx jest tak skalowalna Automattic, WordPress.com, i udało gospodarze jak WordPress WP silnika lub ZippyKid przyjęły technologii, zwykle wraz z Apache służyć PHP i korzysta z niej w celu zapewnienia masowo skalowalny hosting dla dziesiątków tysięcy domen. Apache jest jeszcze miejsce na przetwarzanie złożonych wniosków, ale nie może nadążyć ze skalowalnością Nginx.

Jaka jest Twoja strona działa na? Czy za zainstalowanie Nginx służyć WordPress? Daj mi znać w komentarzach co masz korzystających.

Przełączone na Nginx kilka tygodni temu po wzroście zmęczony coraz wiadomości z mojego hosta mówiąc bym przeszedł mojego przydziału RAM. Godzinami próbuje skonfigurować moją witrynę, aby uporać się z dużego natężenia ruchu na Apache, ale nie ilość pamięci podręcznej .htaccess szczypie to różnicy. Przełączone na Nginx, stworzył podstawowe .conf i nie spojrzał. Wykorzystanie pamięci RAM jest pod kontrolą, a strona jest bardziej elastyczny. Znakomity.

Przeszedłem do Nginx jeden lat temu. Byłem bardzo interessted do projektu i nie podoba Lighttpd.
Okazuje się, Nginx jest tylko fantiastic, i jest zdecydowanie do zrobienia.
Routing wnioski z Apache feeld trochę głupio mi się dzisiaj ...

Widzę. Więc dlatego istnieje kilka miejsc (No faktycznie ton z nich), mimo że są one uruchomione na Apache, nadal działa lepiej niż ci, którzy są z NGIX.
Aha, przy okazji, co LiteSpeed? Wszelkie komentarze WordPress działa na LiteSpeed? LiteSpeed ​​twierdzi, że są one 6x szybciej niż Apache

Nie sądzę Nginx działa lepiej niż Apache, a nie w wordpress stronie. PHP i Apache są jak bracia i wiele skryptów pisane są z Apache jako pierwszy wybór serwer, jedynym problemem jest natomiast Nginx jest „nowoczesne” i uchwyty wybuch ruchu naprawdę dobrze, Apache pozostaje „starożytny” i zawsze kierować na cały wydajności. Kwestia wybuchu ruchu mogą być obsługiwane z równoważenia obciążenia. Lubię Apache ze względu na jego wszystkie występy okrągłe. WordPress nie zawodzi śmiało powiedzieć, że nie mają nic przeciwko Apache Nginx ale nadal pozostaje pierwszym wyborem - codex.wordpress.org/Nginx

Czy uruchomić dowolną porównawczych wydajności, aby zobaczyć czy Nginx faktycznie wykonuje lepiej lub gorzej w swoim środowisku? Jest jedna rzecz, aby myśleć i czuć go, ale to już inna sprawa, aby ją przetestować.

Używamy Nginx tutaj na WPForce.com i działa bardzo dobrze, dużo lepiej niż kiedykolwiek Apache zrobił dla nas.

Podobnie, zarówno WordPress.com WordPress.org i uruchomić na Nginx - WordPress.com jest największym pojedynczym instalacja WordPress w Internecie.

Więc ja niedawno przeniesione z jednego hosta na inny. Poprzedni gospodarz miał mój WP site uruchomiony na Apache. Kiedy założyłem na nowego hosta, domyślny był Fast CGI (i nginx przypuszczam) i nie zauważył lub zwrócić uwagę na różnicę.

Wszystko działa dobrze i szybko, na nowych VPS, ale po kilku dniach zacząłem się spotkać „502 Bad Gateway błędach - nginx” błędy. Zdarza się, kiedy jestem delegowania blogu, i kliknij „podgląd”. Wciąż mogę opublikować ten post, ale kiedy robię istnieje wiele kawałków strony łamany (różne połączenia php, itp), ale post jest tam w takcie.

Mogę przywrócić stronę z powrotem do poprzedniego punktu i to rozwiązuje problem na kilka stanowisk (lub dzień), a następnie problem powraca.

Zrobiłem dodać 3 nowych wtyczek podczas migracji (bezpieczeństwo, AdRotate i super cache). Próbowałem usunięcie zabezpieczeń i AdRotate wtyczek, aby zobaczyć, czy to problem, a problem nie ustępuje. jedyny nie zostały usunięte jest super cache.

jakieś pomysły na to, co może być przyczyną tych złych 502 błędy Gateway? Nigdy nie miałem tego, kiedy działa na apache.

Powiązane artykuły

MAMP żyć serwer hosting wordpressWitam, ja zacząłem mieć pewne problemy ostatnio z witryny WordPress że zbudowany przy użyciu MAMP, a następnie przeniesione do serwera na żywo. Chciałbym zbudowany witryny i uruchomić go, to wyglądało w porządku, to ...
Hosting wordpress australijskiJeśli chcesz szybki i czuły stronę internetową, trzeba zorganizować to tak blisko, jak można tam, gdzie jesteś. Podczas przeglądania witryny, żądań iz powrotem z serwera, a dalej ...
Własna vs hosting wordpress wtyczkiTim Dorr / Flickr, jeśli chodzi o ustanowienie swojej stronie autora, jednego z bardziej kłopotliwych tematów jest self-hosting: co to znaczy, dlaczego jest to korzystne, a kiedy należy to zrobić. Co...
Najlepszy hosting dla wordpress Australia ZooDziś chcę przyjrzeć się, ile z górnej WordPress firm hostingowych zmierzenia się z czysto punktu widzenia wydajności. Teraz będę pierwszym, który przyzna, że ​​posiadanie najszybsze serwery ...
Skadate gospodarzem wymagania dla WordPressAby uruchomić WordPress zalecamy Twój komputer obsługuje: To naprawdę ona. Zalecamy Apache lub Nginx jako najbardziej wytrzymałej i potężniejszy serwer dla uruchomiony WordPress, ale dowolnym serwerze obsługującym PHP ...