2010-12-27 11 views
6

przydatne jest serwerowanie danych statycznych przy użyciu Nginx (Images, css, js) i danych dynamicznych (kod aplikacji + baza danych) przy użyciu Apache?Nginx i Apache

+0

Czy potrzebujesz apache? Całkowicie się tego pozbyliśmy. – chrislovecnm

Odpowiedz

3

Jest to przydatne. Some benchmarks pokazały, że nginx jest co najmniej dwa razy szybszy od Apache'a przy statycznej zawartości.

1

W zależności od zastosowania może być. Chodzi o to, że twoja aplikacja może składać się z wielu statycznych żądań na stronę. Jeśli możesz odpowiedzieć na nie z niewielkim śladem Nginx, możesz potrzebować mniej pracowników Apache, którzy prawdopodobnie będą mieli większy ślad pamięci przy takim samym natężeniu ruchu.

0

Przydaje się również dzięki utrzymaniu żywego łzawienia.

Wyobraź sobie http żądanie przeglądarki dla dużej dynamicznej ilości danych. Połączenie sieciowe klienta jest znacznie wolniejsze niż wewnętrzna sieć (najczęstszy przypadek, gdy nginx i apache na tym samym hoście, więc komunikują się za pośrednictwem interfejsu pętli zwrotnej). Apache załadował wszystkie dane do nginx, a jego pracownik jest gotowy do bardzo szybkiej obsługi następnego żądania, podczas gdy nginx wysyła te dane do klienta.

Ze względu na szybkość i zasięg nginx może obsługiwać o wiele więcej połączeń jednocześnie, więc ta symbioza działa świetnie.

6

Nie tylko jest to użyteczne mieć Nginx służyć obrazy statyczne, ale o Nginx proxy Apache jest duża wygrana, jak również. Dzieje się tak, ponieważ powolni klienci powodują, że Apache utrzymuje wątki zajęte przez dłużej niż jest to konieczne. Nginx może poradzić sobie z wolnym klientem i pozwolić Apacheowi na zakończenie żądania tak szybko, jak to możliwe, uwalniając wątek (i pamięć) dla innych żądań. Nginx zaakceptuje żądanie tak szybko, jak zezwoli na to twoje połączenie lokalne, i przeleje odpowiedź z powrotem na powolnego klienta.

+0

Twoja średnia to: najlepsze jest używanie nginx jako Reverse Proxy dla Apache? jeśli tak, jak mogę to zrobić? – Shafizadeh