Ho un sistema con nginx / php-fpm / varnish / wordpress e amazon s3.
Ora ho esaminato molti file di configurazione durante l'installazione del sistema e in tutti ho trovato qualcosa del genere:
/* 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);
}
Non capisco perché questo sia fatto. La maggior parte degli esempi esegue anche NginX come server Web. Ora la domanda è: perché dovresti usare la cache varnish per memorizzare nella cache questi file statici.
Per me ha molto più senso memorizzare nella cache solo i file dinamici in modo che php-fpm / mysql non venga colpito così tanto.
Ho ragione o mi sto perdendo qualcosa qui?
AGGIORNARE
Voglio aggiungere alcune informazioni alla domanda in base alla risposta fornita.
Se si dispone di un sito Web dinamico, in cui i contenuti cambiano molto, il logorio non ha senso. Ma se si utilizza WordPress per un sito Web statico, ad esempio, questo può essere memorizzato nella cache per lunghi periodi di tempo.
Detto questo, più importante per me è il principio statico . Ho trovato un collegamento con alcuni test e benchmark su diverse app cache e server web.
http://nbonvin.wordpress.com/2011/03/14/apache-vs-nginx-vs-varnish-vs-gwan/
NginX è in realtà più veloce nell'ottenere il tuo contenuto statico, quindi ha più senso lasciarlo passare. NginX funziona alla grande con i file statici.
-
A parte questo, il più delle volte il contenuto statico non è nemmeno nel server web stesso. Il più delle volte questo contenuto viene archiviato su un CDN da qualche parte, forse AWS S3, qualcosa del genere. Penso che la cache di vernice sia l'ultimo posto dove vuoi avere il tuo contenuto statico memorizzato.