Jak buforować zasoby statyczne za pomocą buforowania HTTP w Nginx

Jak buforować zasoby statyczne za pomocą buforowania HTTP w Nginx
Bycie Nginx Administrator, zawsze szukasz nowych metod poprawy wydajności serwerów internetowych. To wyszukiwanie zabierze Cię na różne ścieżki, a ostatecznie będziesz zdezorientowany do wyboru między niekończącą liczbą rozwiązań.

Włączanie Zasoby statyczne Lub Buforowanie treści jest jedną z możliwych metod dla Nginx optymalizacja. Ilekroć przeglądarka odwiedza stronę internetową, Nginx odtwarza buforowanie poszczególnych plików, takich jak aktywa statyczne dla poszczególnej przeglądarki internetowej zamiast podawania każdego pliku. W rezultacie twoje witryny Nginx ładują się szybciej w przeglądarce.

W tym poście nauczysz się Jak buforować zasoby statyczne za pomocą buforowania HTTP w Nginx. Przed przejściem w kierunku procedury buforowania treści statycznej najpierw zrozum podstawową koncepcję treści statycznej i sposób buforowania treści statycznej w Nginx.

Co to jest treść statyczna

Każdy plik przechowywany na serwerze i jest obsługiwany dla użytkowników za każdym razem, w ten sam sposób, jest znany jako treść statyczna. Funkcjonalność treści statycznej jest podobna do gazety. Jako gazeta jest publikowana, każdy, kto odbędzie kopię, zobaczą te same historie i zdjęcia przez cały dzień, niezależnie od tego, jakie nowe wydarzenia występują w ciągu dnia.

Treść większości witryny oparta jest na wstępnie formatowanych plikach statycznych. Te pliki statyczne raczej nie zmienią się z czasem i dla innych użytkowników. W porównaniu z plikami dynamicznymi generowanymi „w locie” na podstawie informacji o bazie danych, pliki statyczne są domyślnymi kandydatami do buforowania. Przykładami treści statycznych są obrazy, muzyka, javascript, filmy i pliki CSS.

Jak buforować zasoby statyczne w Nginx

Typową metodą buforowania internetowego jest zapisanie kopii pliku statycznego w pamięci podręcznej. Ten proces pozwala treści statyczne zbliżać się do użytkownika witryny i dostarczanie zasobów statycznych szybciej następnym razem. Treść lub zasoby statyczne mogą być buforowane przez sieci dostarczania treści (CDN) i przeglądarki dla z góry określonego czasu i służyły użytkownikom, o ile wymaga tego zasoby statyczne. Ponieważ treść statyczna nie zmienia się z czasem, użytkownicy mogą odbierać te same pliki wiele razy.

Jakie są nagłówki pamięci podręcznej HTTP w Nginx

Aby zdefiniować czas trwania pamięci podręcznej i wskazać buforowane treści internetowe, korzystanie z stron internetowych wykorzystali Nagłówki pamięci podręcznej HTTP. Możesz dostosować strategię buforowania za pomocą różnych nagłówków pamięci podręcznej, które zapewniają świeżość treści statycznej lub zasobów.

Na przykład, "Cache-Control: Max-Age = 3600”Oświadcza, że ​​konkretny plik może być buforowany tylko przez godzinę po tym, jak należy go ponownie załadować ze źródła. Oznaczanie pojedynczego lub grupy plików może być czasochłonne. Dzięki wdrażaniu metod poznawczych zdolnych do nadmiernego nagłówku pamięci podręcznej, nowoczesne CDN pozwalają uniknąć tej praktyki.

Teraz pokażemy, jak włączyć buforowanie statyczne za pomocą buforowania HTTP w Nginx. Jeśli Twoja witryna obejmuje wiele zasobów statycznych lub treści, dostarczona metoda pomoże przyspieszyć ładowanie stron internetowych. Aby postępować zgodnie z poniższą metodą, powinieneś zainstalować Nginx i włączyć w systemie.

Jak włączyć buforowanie zasobów statycznych za pomocą buforowania HTTP w Nginx

Po pierwsze, naciśnij „Ctrl+alt+t„Otwarty terminal. Następnie wykonaj poniższe dane polecenie, aby otworzyć plik konfiguracyjny Nginx w nano edytorze:

$ sudo nano/etc/nginx/nginx.conf

Włączamy statyczne buforowanie w domyślnym pliku Nginx. Jeśli masz wiele wirtualnych hostów i witryn, musisz dodać następujące ustawienia w każdym pliku konfiguracyjnym:

Dodaj następujące wiersze, aby buforować zasoby statyczne, takie jak pliki CSS, obrazy, ikony, pliki JavaScript:

Lokalizacja ~* \.(CSS | GIF | JPG | JS | PNG | ICO | OTF | SNG | XLS | DOC | EXE | JPEG | TGX) $
access_log off;
wygasa max;

Dodaliśmy „Access_Log Off„Aby wyłączyć Dostęp do Zaloguj się, aby nie osiągnąć limitu we/wy. Natomiast "wygasa„Nagłówek obejmuje informacje związane z dostępnością buforowanej treści w pamięci podręcznej przeglądarki. "wygasa”Jest Nagłówek HTTP które można umieścić w blokach obecnych w pliku konfiguracyjnym, takim jak serwer, http , i Lokalizacja blok. Zwykle „wygasa„Nagłówek HTTP jest dodawany do bloku lokalizacji do buforowania plików statycznych:

Teraz naciśnij „Ctrl+o„Aby zapisać zmiany, które wprowadziliśmy w pliku konfiguracyjnym Nginx:

Wykonaj „nginx„Polecenie z„-T„Opcja do przetestowania Nginx plik konfiguracyjny i jego składnia:

$ sudo nginx -t

Teraz uruchom ponownie nginx, wpisując poniżej podanie polecenia w terminalu:

$ sudo systemctl restart nginx

Jak testować buforowanie zasobów statycznych za pomocą nagłówka HTTP na żywo w Nginx

Dla Twojej witryny działającej na Nginx Serwer WWW, możesz dodać rozszerzenie HTTP na żywo w przeglądarce, aby przetestować proces buforowania.

Na przykład dodajemy nagłówek HTTP na żywo do naszej przeglądarki Firefox, klikając „Dodaj do Firefox" przycisk:

Zezwolić na nagłówek HTTP na żywo w celu uzyskania dostępu do danych witryny i przeglądarki:

Następnie otwórz swoją stronę internetową, dla której włączyłeś statyczne buforowanie treści w pliku konfiguracyjnym, a zobaczysz, że nagłówek HTTP pokazuje wszystkie informacje związane z zasobami pamięci podręcznej:

Możesz także nacisnąć „Ctrl+Shift+I„Aby otworzyć narzędzia programistów. Ładuje witrynę kilka razy, a zauważysz, że prędkość ładowania sieci jest znacznie ulepszona, ponieważ większość zasobów jest buforowana podczas pierwszego ładowania strony internetowej:

Wniosek

Na stronie internetowej treść statyczna jest rodzajem treści, która nie zmienia się na stronach internetowych. Jeśli Twoja witryna zawiera zasoby statyczne lub treści, możesz poprawić jej wydajność, umożliwiając buforowanie, które przechowuje treść statyczną w celu szybszego dostępu w przeglądarce. W tym poście wyjaśniliśmy, co Treść statyczna Jest, Jak działa statyczne buforowanie w Nginx, I możesz pamięć podręczna statyczne lub treść za pomocą buforowania HTTP w Nginx. Ponadto pokazaliśmy, jak Aby przetestować buforowanie zasobów statycznych za pomocą nagłówka HTTP na żywo.