Nginx jako reverse proxy dla Apache

Jeżeli coś da się przyspieszyć, należy to zrobić. 😉 Szczególnie, że zarówno Google dobrze spogląda na strony, które szybko i bezproblemowo działają, jak również nam umili to życie poprzez zmniejszenie obciążenia na serwerze jak i zwiększenie odwiedzających na stronie.

Nginx + Apache na jednej maszynie

Wcześniej pisałem już o tym, że można zastosować memcache, co spowoduje, że będzie nam wszystko śmigać dużo szybciej. Jednak co jeżeli można to podkręcić zdecydowanie bardziej? 🙂

Mowa oczywiście o stworzeniu sobie z serwera nginx reverse proxy dla serwera apache. Działa to na takiej zasadzie, że wszystkie treści statyczne, są serwowane przez nginx, a wszystkie dynamiczne przez apache. Oczywiście, można pokusić się o przejście całkowicie na nginx, bo jest szybszy niż apache, jednak chociażby z przyzwyczajenia do konfiguracji i sposobu działania serwera apache nie każdy będzie chciał to zrobić. 😉

Krok po kroku dla serwera Debian / Ubuntu

Instrukcja dotyczy jedynie serwerów opartych o system Debian, względnie Ubuntu. Jako, że używam Debiana, to i w dupie mam pisanie poradnika dla innego systemu, jednak w sieci jest tak dużo różnych poradników, że na pewno pod swojego CentOS‚a czy innego FreeBSD spokojnie znajdziesz dokładne komendy, bo sama konfiguracja oczywiście zbytnio różnić się nie będzie.

Najpierw musisz pobrać wszystko co będzie potrzebne, czyli po kolei…

W zależności od tego z czego chcesz korzystać, albo pozostajesz przy standardowym ustawieniu php poprzez mod_php, albo zmieniasz sobie na fpm. Wybór już pozostawiam Tobie. Jednak zaznaczę, że fpm działa zdecydowanie lepiej i szybciej, przynajmniej wg moich obserwacji.

A zatem pierwsze co trzeba wklepać w konsolę to (dla mod_php):

Następnie musisz doinstalować sobie serwer nginx czyli:

Gdyby z tą wersją Ci nie zadziałało, to zawsze możesz zainstalować pełnego czyli:

Po zainstalowaniu tego wszystkiego, musisz to odpowiednio skonfigurować, aby działało we właściwy sposób, czyli przekonfigurowanie apache i nginx. W ustawieniach apache zmieniasz port, na którym nasłuchuje:

A następnie zmieniasz z domyślnego portu 80 na 8080. Musisz oczywiście także zmienić wszystkie porty w virtual-hostach, więc żeby się nie pierdolić po jednym manualnie, szczególnie jeżeli masz dużo vhostów na tej maszynie to wklepujesz:

Dobra, teraz tylko restart apache i to już mamy gotowe, teraz pora na nginx.

Tu ustawiasz sobie odpowiednio do swojego serwera ilość procesów, rdzeni, wątków i inne pierdoły. Włączasz gzip. Jak już to ogarnięte to teraz docelowy konfig czyli otwierasz sobie na przykład:

Po czym wstawiasz to:

Zapisujesz i wychodzisz z edytora, po czym restartujesz nginx i apache i… cieszysz się zajebistą prędkością serwisów. 🙂

Oczywiście z ustawieniami możesz dowolnie eksperymentować wedle swoich potrzeb. Możesz na przykład wrzucić sobie taki konfig:

I to wszystko. No a przynajmniej wydaje mi się, że nic nie pominąłem. W razie czego zawsze możesz do mnie napisać – mail po lewej.

Masz już od teraz w pełni działającą maszynkę… działającą szybciej i zdecydowanie lepiej. 🙂

Nginx jako reverse proxy dla Apache
5 (100%) 17 głosów

ZOSTAW ODPOWIEDŹ