Konfigurowanie proxy Nginx Reverse przed Apache

Konfigurowanie proxy Nginx Reverse przed Apache

Na stronie internetowej o wysokim ruchu konieczne jest upewnienie się, że serwer WWW może obsługiwać dużą liczbę żądań bez powodowania przeciążenia serwera lub słabej wydajności. Jednym ze sposobów na osiągnięcie tego jest użycie odwrotnego serwera proxy przed serwerem WWW. Odwrotny serwer proxy, taki jak Nginx, może obsługiwać żądania od klientów i przekazywać je do serwera WWW, rozładowując część pracy i poprawiając wydajność.

W tym artykule omówimy, jak skonfigurować Nginx jako odwrotną proxy przed Apache, aby zoptymalizować strony internetowe o wysokim ruchu.

Krok 1: Instalowanie Nginx

Pierwszym krokiem w konfigurowaniu Nginx jako odwrotnego proxy jest instalacja go na serwerze. Możesz zainstalować Nginx za pomocą Menedżera pakietów Apt na Ubuntu, uruchamiając następujące polecenie:

sudo apt aktualizacja && apt instal nginx  

Po zakończeniu instalacji możesz uruchomić usługę Nginx, uruchamiając następujące polecenie:

sudo systemctl restart nginx.praca  

Krok 2: Konfigurowanie Nginx jako odwrotnego proxy

Po zainstalowaniu Nginx musisz skonfigurować go jako odwrotną proxy. Możesz to zrobić, tworząc nowy plik konfiguracyjny w /etc/nginx/conf.D/ informator. Na przykład możesz utworzyć nowy plik o nazwie Odwrotna proksja.conf:

sudo nano/etc/nginx/conf.D/odwrotna-proksja.conf  

Dodaj następującą konfigurację:

serwer Słuchaj 80; Przykład_nazowy Server_name.com; lokalizacja/proxy_pass http: // 127.0.0.1: 8080; proxy_set_header host $ host; proxy_set_header x-real-ip $ remote_addr; proxy_set_header x-forwarded-for $ proxy_add_x_forwarded_for;
12345678910serwer Słuchaj 80; Przykład_nazowy Server_name.com; lokalizacja/proxy_pass http: // 127.0.0.1: 8080; proxy_set_header host $ host; proxy_set_header x-real-ip $ remote_addr; proxy_set_header x-forwarded-for $ proxy_add_x_forwarded_for;

Ta konfiguracja informuje Nginx, aby słuchał na porcie 80 i przekazał żądania serwera Apache działające na porcie 8080. proxy_set_header Dyrektywy są używane do przekazywania hosta, adresu IP i innych informacji od klienta na serwer Apache.

Krok 3: Konfigurowanie Apache

Po skonfigurowaniu Nginx jako odwrotnego proxy, musisz skonfigurować Apache do pracy z nim. Apache będzie działał jako serwer WWW na niestandardowym porcie. Możesz to zrobić, edytując plik konfiguracyjny Apache, znajdujący się w /etc/apache2/porty.conf, i dodanie następujących wierszy:

Posłuchaj 8080
1Posłuchaj 8080

Wymień 80 na nowy port 8080. To informuje Apache, aby słuchał w porcie 8080 i akceptował żądania z dowolnego adresu IP. Po tym powiązaj konfigurację wirtualnego hosta z tym portem.

Przykład Servername.com ServerAdmin Webmaster@Przykład.com DocumentRoot/var/www /pleverride All ErrorLog/var/log/apache2/error_log CustomLog/var/log/apache2/access_log łącznie
12345678910 Przykład Servername.com ServerAdmin Webmaster@Przykład.com dokumentroot/var/www/ Zezwolenie na wszystko ErrorLog/var/log/apache2/error_log customLog/var/log/apache2/access_log łącznie

W przypadku, gdy 8080 jest już używane przez inną usługę, wybierz dowolny inny port i odpowiednio zaktualizuj blok serwera Nginx.

Krok 4: Włączanie MOD_RPAF

Po sprawdzeniu plików dziennika Apache otrzymasz adres IP, ponieważ żądania są proxy z serwera lokalnego. Aby poprawnie zidentyfikować adresy IP klientów składających żądania, należy włączyć moduł MOD_RPAF w Apache. Ten moduł pozwala Apache poprawnie interpretować X-Real-IP I X-forwarded-for Nagłówki ustawione przez Nginx.

Aby zainstalować i włączyć mod_rpaf, Uruchom następujące polecenia:

 sudo apt-get instaluj libapache2-mod-rpaf 

Powyższe polecenie włączy również moduł.

Krok 5: Testowanie konfiguracji

Po skonfigurowaniu Nginx i Apache ponownie uruchom obie usługi w celu zastosowania zmian.

sudo systemctl restart nginx.praca  sudo systemctl restart apache2.praca  

Po ponownym utworzeniu usług należy przetestować konfigurację, aby upewnić się, że wszystko działa poprawnie. Możesz to zrobić, uzyskując dostęp do Twojej witryny za pomocą przeglądarki internetowej i sprawdzając, czy treść jest wyświetlana poprawnie. Możesz także sprawdzić dzienniki zarówno Nginx, jak i Apache, aby upewnić się, że nie ma błędów ani problemów.

Wniosek

Podsumowując, konfigurowanie Nginx jako odwrotnego proxy przed Apache może znacznie poprawić wydajność i skalowalność witryn z dużym ruchem. Rozładowując niektóre prace z serwera WWW na odwrotny serwer proxy, możesz zmniejszyć ryzyko przeciążenia serwera i poprawić ogólne wrażenia użytkownika. Postępując zgodnie z krokami opisanymi w tym artykule, możesz zainstalować i skonfigurować Nginx i Apache do współpracy jako odwrotny serwer proxy, i optymalizować witrynę o wysokim ruchu. Ważne jest, aby regularnie monitorować wydajność serwera i dostosować konfiguracje w razie potrzeby, aby zapewnić optymalną wydajność i stabilność.