Eu tenho um sistema rodando nginx / php-fpm / verniz / wordpress e amazon s3.
Agora, observei muitos arquivos de configuração durante a configuração do sistema e em todos eles encontrei algo parecido com isto:
/* 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);
}
Eu não entendo por que isso é feito. A maioria dos exemplos também executa o NginX como um servidor da web. Agora, a pergunta é: por que você usaria o cache de verniz para armazenar em cache esses arquivos estáticos.
Faz muito mais sentido para mim apenas armazenar em cache os arquivos dinâmicos, para que o php-fpm / mysql não seja atingido tanto.
Estou correto ou estou faltando alguma coisa aqui?
ATUALIZAR
Quero adicionar algumas informações à pergunta com base na resposta dada.
Se você tem um site dinâmico, onde o conteúdo realmente muda muito, o chaching não faz sentido. Mas se você usa o WordPress para um site estático, por exemplo, isso pode ser armazenado em cache por longos períodos de tempo.
Dito isto, mais importante para mim é o conteúdo estático . Encontrei um link com alguns testes e referências em diferentes aplicativos de cache e aplicativos de servidor da web.
http://nbonvin.wordpress.com/2011/03/14/apache-vs-nginx-vs-varnish-vs-gwan/
O NginX é realmente mais rápido na obtenção de seu conteúdo estático, por isso faz mais sentido apenas deixá-lo passar. O NginX funciona muito bem com arquivos estáticos.
-
Além disso, na maioria das vezes o conteúdo estático não está presente no servidor da web. Na maioria das vezes, esse conteúdo é armazenado em uma CDN em algum lugar, talvez no AWS S3, algo assim. Eu acho que o cache de verniz é o último lugar em que você deseja que seu conteúdo estático seja armazenado.