Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

NGINX to popularny, darmowy serwer WWW o otwartym kodzie źródłowym. Domyślne konfiguracje NGINX są wystarczająco dobre, aby serwer WWW działał.

Jeśli jednak chcesz w pełni wykorzystać NGINX, musisz pobawić się plikami konfiguracyjnymi i ustawić parametry, które zoptymalizują wydajność serwera. Pliki konfiguracyjne znajdziesz w /etc/nginx katalogu na komputerze z systemem Linux.

Co to jest NGINX?

NGINX to nowoczesny serwer WWW, którego możesz używać jako streamera multimediów, serwera pocztowego, odwrotne proxy, system równoważenia obciążenia, serwer pamięci podręcznej i nie tylko.

Używany przez wiele dużych profili, takich jak VMware, IBM, Cisco, Apple, Microsoft LinkedIn, Netflix, Facebook, Twitter itp., NGINX jest powszechnie znany ze swojej najwyższej klasy wydajności. Kolejną zaletą korzystania z NGINX jest to, że jest łatwy w konfiguracji i nauce.

instagram viewer

Wymagania wstępne do dostrojenia wydajności NGINX w systemie Linux

Przed rozpoczęciem konfiguracji NGINX musisz spełnić następujące wymagania:

  1. Serwer NGINX wdrożony i skonfigurowany w systemie Linux
  2. Podstawowe zrozumienie NGINX i jego plików konfiguracyjnych

Jeśli spełniasz te wymagania, możesz dostroić NGINX w celu uzyskania optymalnej wydajności. Zobaczmy, jak to zrobić.

1. Skonfiguruj procesy robocze w NginX

Architektura NGINX składa się z jednego procesu głównego i kilku procesów roboczych. Zadaniem procesu głównego jest ocena konfiguracji i zarządzanie pracownikami. Z drugiej strony rolą procesu roboczego jest obsługa przychodzących żądań i tworzenie połączenia między klientem a serwerem.

Wartość procesowa jest ustawiona na automatyczny domyślnie. Ustawia liczbę procesów roboczych równą liczbie dostępnych rdzeni procesora. Aby dowiedzieć się, ile rdzeni procesora jest obecnych w twoim systemie, uruchom następujące polecenie:

procesor grep /proc/cpuinfo | wc -l

Jeśli chcesz zwiększyć liczbę procesów roboczych, musisz to skonfigurować w pliku konfiguracyjnym NGINX.

Otwórz plik za pomocą nano:

nano etc/nginx/nginx.conf

Aby skonfigurować więcej procesów roboczych, zmień wartość domyślną na maksymalną liczbę dostępnych rdzeni procesora w systemie.

2. Skonfiguruj połączenia robocze

Kolejnym parametrem, który możesz zmodyfikować, aby zwiększyć wydajność NGINX, są połączenia robocze. Jest to maksymalna liczba połączeń TCP, które każdy proces roboczy może jednocześnie obsłużyć.

Większość systemów ma domyślną wartość 512 połączeń, ale wiele nowoczesnych systemów obsługuje również większą liczbę. Możesz sprawdzić, ile połączeń obsługuje Twój system za pomocą:

ogranicz -N

Wynikiem będzie maksymalna liczba obsługiwanych połączeń. Następnie możesz zmodyfikować plik połączenia_pracowników zmienną w pliku konfiguracyjnym NGINX, aby poprawić wydajność.

3. Zezwól na kompresję GZIP w NGINX

NGINX używa GZIP do kompresji i dekompresji plików. Jeśli jest włączona w pliku konfiguracyjnym NGINX, możesz zaoszczędzić przepustowość i wydłużyć czas ładowania strony, gdy połączenie jest wolne.

Aby zezwolić na kompresję GZIP, dodaj następujące wiersze w pliku konfiguracyjnym NGINX:

serwer {
gzip włączony;
gzip_vary włączone;
gzip_min_długość 10240;
gzip_proxied wygasł nie-Pamięć podręcznaNIE-sklepprywatny uwierzytelnić;
gzip_types tekst/zwykły tekst/tekst css/tekst xml/aplikacja javascript/aplikacja x-javascript/xml;
gzip_disable "MSIE [1-6]\.";
}

4. Ogranicz wartość limitu czasu w NGINX

Zmniejszone wartości limitów czasu również odgrywają ważną rolę w zwiększaniu wydajności NGINX. The utrzymać przy życiu połączenia zmniejszają obciążenie procesora i sieci podczas otwierania i zamykania połączeń.

Możesz zmodyfikować następujące parametry w pliku konfiguracyjnym, aby ograniczyć limity czasu:

http
{
klient_body_timeout 12;
klient_header_timeout 12;
keepalive_timeout 15;
limit czasu wysyłania 10;
}

5. Dostosuj rozmiar bufora

Możesz także dostosować bufory NGINX, aby zoptymalizować wydajność serwera. Jeśli rozmiar bufora jest zbyt mały, NGINX zapisze do pliku tymczasowego, co spowoduje ciągłe wykonywanie ogromnych operacji we/wy.

Musisz ustawić następujące parametry bufora, aby NGINX działał najlepiej:

http
{
client_body_buffer_size 10K;
klient_header_buffer_size 1k;
klient_max_body_size 8m;
duże_bufory_nagłówka_klienta 4 4k;
}

6. Wyłącz dzienniki dostępu lub Włącz buforowanie dzienników dostępu

Dzienniki zajmują dużo miejsca na dysku i cykli CPU/IO, co może mieć wpływ na wydajność serwera, jeśli rejestruje on każde żądanie.

Możesz wyłączyć dzienniki dostępu, co pozwoli zaoszczędzić trochę miejsca na dysku i procesora. Aby wyłączyć dzienniki dostępu, dodaj następujący wiersz do pliku konfiguracyjnego NGINX:

dostęp_wyloguj się;

Dzienniki są ważne, ponieważ pomagają w rozwiązywaniu problemów. Całkowite wyłączenie dzienników nie jest dobrą praktyką. W takim przypadku można włączyć buforowanie dzienników dostępu. Umożliwi to NGINX buforowanie serii dzienników i jednoczesne zapisywanie ich w pliku dziennika zamiast stosowania różnych operacji dziennika na każde żądanie.

Dodaj następujący wiersz w pliku konfiguracyjnym NGINX, aby umożliwić buforowanie dzienników dostępu:

dziennik_dostępu/var/log/nginx/access.loggłównybufor=16k

7. Dostosuj okres buforowania zawartości statycznej w NGINX

Zawartość witryny, która pozostaje taka sama na wszystkich stronach, nazywana jest treścią statyczną. Buforowanie tych treści pozwala na umieszczanie ich w łatwo dostępnych miejscach. Mechanizm ten zmniejsza wykorzystanie przepustowości, umożliwia szybką dostępność, a co za tym idzie poprawia wydajność serwisu.

Gdy klient zażąda zawartości statycznej, serwer udostępni wersję zawartości z pamięci podręcznej. Dodaj następujące wiersze w pliku wirtualnego hosta umieszczonym w /etc/nginx/sites-available informator:

lokalizacja ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
wygasa 90 dni;
}

Ta konfiguracja będzie przechowywać pliki w pamięci podręcznej przez 90 dni od czasu ostatniego dostępu do przeglądarki.

8. Włącz otwartą pamięć podręczną plików w NGINX

Możesz także użyć parametrów otwartej pamięci podręcznej plików w pliku konfiguracyjnym NGINX, aby zwiększyć jego wydajność. Ta dyrektywa umożliwia buforowanie na serwerze deskryptora pliku i często odwiedzanych plików.

Dodaj następujące wiersze w pliku http sekcję w pliku konfiguracyjnym, aby włączyć otwartą pamięć podręczną plików:

http {
open_file_cache max=1024 nieaktywny=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors włączone;
}

Wydobądź to, co najlepsze z NGINX, modyfikując jego pliki konfiguracyjne

Dobrą praktyką przy zmianie konfiguracji jest zajmowanie się jednym ustawieniem naraz i testowanie go. Jeśli to działa, przejdź do następnego ustawienia. Jeśli nie, zawsze możesz zmienić konfigurację z powrotem na wartość domyślną.

Modyfikując parametry skonfigurowane w plikach konfiguracyjnych NGINX, takich jak nginx.conf i pliki wirtualnego hosta, możesz zhakować NGINX, aby uzyskać najlepszą wydajność.