Estoy en el proceso de reestructurar la pila web de mi proyecto para: nginx -> haproxy -> muchas instancias (apache / rails de pasajeros)
Algunos de los objetivos incluyen:
- ubicación única para el almacenamiento en caché de la página (actualmente se realiza mediante rieles en cada máquina apache)
- contenido estático más rápido
- eliminar ssl de la tubería interna
- registro de ip (previamente perdido debido a la ejecución de haproxy en modo tcp)
Los recursos de imagen / hoja de estilo / javascript están almacenados en caché, con encabezados apropiados. El almacenamiento en caché de nuestra página se basa en parámetros internos y no debe responder a los controles típicos de caché. Para lograr estos fines, nuestra configuración se parece a
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;
}
}
No soy realmente un administrador de sistemas, y sé que hay muchas alternativas / ajustes / adiciones que podrían ser útiles. Tampoco entiendo la diferencia entre proxy_cache y proxy_store. Entonces, a mi pregunta real ...
Hasta que traslademos los activos a la máquina nginx, ¿tiene sentido usar proxy_cache para activos y proxy_store para contenido dinámico lento?
Además, si hay otras consideraciones o software que debería considerar, me encantaría saber de ellos. ¡Gracias!
Desde que publiqué esta pregunta, me di cuenta de que la configuración inicial que usé no usa la tienda en absoluto, y que la página de error y la configuración interna del ejemplo wiki oficial (¿semi?) No eran exactamente opcionales (la configuración se actualizó aquí desde parece estar funcionando, y una configuración de trabajo parece un mejor legado para esta pregunta). Por lo tanto, usar la tienda para crear páginas completas (y raramente actualizadas) de forma lenta, y el caché real para imágenes, javascript y demás, parece estar funcionando bastante bien para nosotros. Aceptaré la única respuesta, ya que al menos me dio una pista para rastrear mi problema, pero todavía no tengo la sensación de si estoy usando o no las dos directivas de la manera para la que estaban destinadas o no (bueno, al menos no con respecto a la tienda, el caché parece un poco más obvio).