Konfigurowanie proxy Nginx Reverse przed Apache
- 3515
- 850
- Juliusz Janicki
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;12345678910 | 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; |
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 80801 | Posł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 łącznie12345678910 |
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ść.