Mam system działający pod kontrolą nginx / php-fpm / varnish / wordpress i amazon s3.
Teraz podczas konfigurowania systemu przejrzałem wiele plików konfiguracyjnych i we wszystkich znalazłem coś takiego:
/* If the request is for pictures, javascript, css, etc */
if (req.url ~ "\.(jpg|jpeg|png|gif|css|js)$") {
/* Remove the cookie and make the request static */
unset req.http.cookie;
return (lookup);
}
Nie rozumiem, dlaczego tak się dzieje. Większość przykładów uruchamia także NginX jako serwer WWW. Teraz pytanie brzmi: dlaczego miałbyś używać pamięci podręcznej lakieru do buforowania tych plików statycznych.
Dla mnie bardziej sensowne jest buforowanie tylko plików dynamicznych, aby php-fpm / mysql nie został trafiony tak bardzo.
Czy mam rację, czy coś mi brakuje?
AKTUALIZACJA
Chcę dodać informacje do pytania na podstawie udzielonej odpowiedzi.
Jeśli masz dynamiczną witrynę internetową, w której treść bardzo się zmienia, chaching nie ma sensu. Ale jeśli używasz WordPress na przykład na statycznej stronie internetowej, może to być buforowane przez długi czas.
To powiedziawszy, dla mnie ważniejsza jest statyczna zgodność . Znalazłem link z niektórymi testami i testami porównawczymi w różnych aplikacjach pamięci podręcznej i aplikacjach serwera WWW.
http://nbonvin.wordpress.com/2011/03/14/apache-vs-nginx-vs-varnish-vs-gwan/
NginX jest w rzeczywistości szybszy w uzyskiwaniu zawartości statycznej, więc sensowniej jest po prostu pozwolić jej przejść. NginX działa świetnie z plikami statycznymi.
-
Poza tym przez większość czasu zawartość statyczna nie znajduje się nawet w samym serwerze internetowym. Przez większość czasu ta zawartość jest przechowywana gdzieś w CDN, może AWS S3, coś w tym rodzaju. Myślę, że pamięć podręczna lakieru to ostatnie miejsce, w którym chcesz przechowywać zawartość statyczną.