Estou no processo de reestruturar a pilha da web do meu projeto para: nginx -> haproxy -> muitas instâncias (apache / passenger rails)
Alguns dos objetivos incluem:
- local único para armazenamento em cache de página (atualmente feito via trilhos em cada máquina apache)
- conteúdo estático mais rápido
- remover ssl do pipeline interno
- registro de ip (anteriormente perdido devido à execução de haproxy no modo tcp)
Os recursos de image / stylesheet / javascript são armazenados em cache em cache, com cabeçalhos apropriados. Nosso cache de páginas é baseado em parâmetros internos e não deve responder aos controles de cache típicos. Para atingir esses objetivos, nossa configuração se parece com
server {
...
location /really_slow_dynamic_content/ {
root /var/www/tmp;
error_page 404 = @fetch;
}
location @fetch {
internal;
proxy_pass haproxy_ip;
proxy_store /var/www/tmp${uri}_cache.html;
proxy_store_access user:rw group:rw all:r;
}
location /assets/ {
proxy_pass haproxy_ip;
proxy_cache assets;
}
location / {
proxy_pass haproxy_ip;
}
}
Eu não sou realmente um administrador de sistemas e sei que existem muitas alternativas / ajustes / adições que podem ser úteis. Também não entendo bem a diferença entre proxy_cache e proxy_store. Então, para a minha pergunta real ...
Até movermos os ativos para a máquina nginx, faz sentido usar proxy_cache para ativos e proxy_store para conteúdo dinâmico lento?
Além disso, se houver outras considerações ou software que eu deva considerar, adoraria ouvir sobre elas. Obrigado!
Desde que postei essa pergunta, percebi que a configuração inicial que eu usei não usa a loja e que a página de erro e as configurações internas do exemplo wiki oficial (semi?) Não eram exatamente opcionais (configuração atualizada aqui desde parece estar funcionando, e uma configuração de trabalho parece ser um legado melhor para esta questão). Portanto, o uso da loja para páginas completas de criação lenta (e raramente atualizadas) e o cache real de imagens, javascript e outros parecem estar funcionando muito bem para nós. Aceitarei a única resposta, uma vez que pelo menos me deu uma pista para localizar meu problema, mas ainda não tenho noção se estou usando ou não as duas diretivas da maneira a que elas se destinam. ou não (bem, pelo menos não em relação à loja, o cache parece um pouco mais óbvio).