Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nginx i Apache razem
Forum PHP.pl > Forum > Serwery WWW
doman78
Witam,

Obecnie stawiam serwer na którym znajdować się będzie serwis www - średnie obciążenie 2-3 tyś odwiedzin dziennie.
Od zawsze stawiałem Apache'a jednakże ze względu na dość spore problemy wydajnościowe jakie pojawiły się przy innym projekcie postanowiłem wykorzystać NGINX'a. Po lekturze dokumentacji dochodzę do wniosku, że Apache bije na głowę inne serwery modułami zabezpieczającymi. Dlatego nie chciałbym rezygnować z niego całkowicie. Dlatego pomyślałem o rozwiązaniu w którym NGINX byłby serwerem proxy który przekierowuje lokalnie strony na Apache'a na porcie 8080. Technicznie wykonalne, wiele tutoriali w sieci etc.

Chciałbym dowiedzieć się czy takie rozwiązanie ma sens. Czy działając w ten sposób zabije wydajność przez co mógłbym darować sobie NGINX'a i po prostu wszystko postawić na Apachu.

Czy ktoś robił takie testy? Kiedy to się opłaca?

Pozdrawiam,
Dominik
piotr.mroczek
praktycznie nie próbowałem jednak obiło mi sie coś niecoś o uszy, że z powodzeniem
można stosować połączenie apache do php, pliki statyczne typu css, img, js z innego lżejszego serwera.

chętnie bym to przetestował w boju.
mam do dyspozycji VPSa a Ty masz źródło ruchu.
moglibyśmy w przyszłym tygodniu (wcześniej nie mam niestety czasu) zrobić jakiś test.
odezwij się na pw jeżeli jesteś zainteresowany wink.gif
Niktoś
Cytat
Chciałbym dowiedzieć się czy takie rozwiązanie ma sens. Czy działając w ten sposób zabije wydajność przez co mógłbym darować sobie NGINX'a i po prostu wszystko postawić na Apachu.


Sensu nie widzę, za bardzo gdyż można z powodzeniem postawić NGINX'a z php poprzez fastcgi ,podobno śmiga aż miło, po co do tego jeszcze Apache?

Na nginxie poprzez proxy reverse można postawić każdy dowolny serwer ,można połączyć wiele "instancji serwerowych" i łączyć się z dowolnym serwerem proxy poprzez ip i port ,w łątwy sposób można utworzyć tzw webgardening.Np osobno serwer pocztowy ,serwer główny, do multimediów itd itp i za pomocą nginxa przekierowywać odpowiednie rządania.
Dla mnie rewelka, zważywszy że samą aplikację serwerową, można zapisać na pendrivie ,może jakby to dobrze spakować to i by się na dyskietce zmieściło.Jak widać NGINX mało waży.

Ja używam nginxa na win xp home edition ,gdzie windows ten jak i inne w wersji home ogołocone są z jakichkolwiek opcji serwerowych,brak jest iis i nie można dograć żadnego IIS a programuje w C# NET więc jedynym rozwiązaniem aby pokazać światu aplikacje /przetestować ją online było użycie NGinxa i proxy reverse.Działa to dobrze,były lekkie problemy z postawieniem SSL aby współgrało z serwerem który jest za proxy,oraz ze sprawdzaniem ip pochodzącego od klienta,zamiast klienta łapało ip serwera proxy czyli u mnie był to localhost.

Na pewno szybciej będzie działać Nginx z php na fastcgi bez proxy reverse po co pchać apache?W moim przypadku proxy reverse było wymagane u Ciebie , można by się było obejść bez tego.
viking
A próbowałeś nowego apache 2.4 dopiero co wydanego? Poprawili wydajność i kilka innych rzeczy. Przekierowywałem kiedyś testowo przez proxy z lighttpd ruch na nginxa + mod_passenger kierować. Straty w ilości obsługiwanych req/s były minimalne. Później okazało się że lighty+fastcgi jest szybszy od nginxa i dla PHP, i Ruby. Najlepiej zrobić test na tym konkretnym środowisku smile.gif
doman78
Cytat(Niktoś @ 22.02.2012, 16:53:45 ) *
Sensu nie widzę, za bardzo gdyż można z powodzeniem postawić NGINX'a z php poprzez fastcgi ,podobno śmiga aż miło, po co do tego jeszcze Apache?


Tak jak napisałem, cel użycia Apache'a w tle to zabezpieczenie serwera przed chociażby atakami DoS. Nginx jest szybki, ale nie posiada (Przynajmniej nie znalazłem) takich narzędzi jak mod_evasive, mod_security czy mod_qos. Jeżeli takie rozwiązanie jest kosztem minimalnej utraty wydajności na Nginxie to ma to sens w innym wypadku tylko jako rozwiązanie tymczasowe (na przykład podczas migracji by zapewnić ciągłość pracy aplikacji postawionych na Apachu).

Cytat(viking @ 22.02.2012, 17:04:54 ) *
A próbowałeś nowego apache 2.4 dopiero co wydanego? Poprawili wydajność i kilka innych rzeczy. Przekierowywałem kiedyś testowo przez proxy z lighttpd ruch na nginxa + mod_passenger kierować. Straty w ilości obsługiwanych req/s były minimalne. Później okazało się że lighty+fastcgi jest szybszy od nginxa i dla PHP, i Ruby. Najlepiej zrobić test na tym konkretnym środowisku smile.gif


Nie próbowałem i dzięki za podpowiedź smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.