Cómo configurar Varnish en Magento 2

Varnish Cache es un acelerador de aplicaciones web de código abierto (también conocido como HTTP accelerator o caching HTTP reverse proxy). Varnish almacena (o almacena en caché) archivos o fragmentos de archivos en la memoria; esto permite a Varnish reducir el tiempo de respuesta y el consumo de ancho de banda de la red en futuras solicitudes equivalentes. A diferencia de los servidores web como Apache y nginx, Varnish fue diseñado para usarse exclusivamente con el protocolo HTTP.

Magento 2.4.2 se prueba con Varnish 6.4. Magento 2.4.x es compatible con Varnish 6.x
Magento recomienda encarecidamente utilizar Varnish en la producción. El Built in full page caching (en el file system o en el database) es mucho más lento que Varnish, y este está diseñado para acelerar el tráfico HTTP.

Puede encontrar más información en los siguientes enlaces:

Diagrama de topología de Varnish

La siguiente figura muestra una vista básica de Varnish en la topología de Magento.

varnish_basic

En la figura anterior, puede ver cómo las solicitudes HTTP de los usuarios en Internet dan como resultado numerosas solicitudes de CSS, HTML, JavaScript e imágenes (denominadas colectivamente recursos). Varnish se coloca frente al servidor web y reenvía estas solicitudes al servidor web.

Cuando el servidor web devuelve los recursos, los recursos que se pueden almacenar en caché se almacenan en Varnish. Varnish satisface las solicitudes posteriores de estos recursos (lo que significa que las solicitudes no llegan al servidor web). Varnish luego devuelve el contenido en caché extremadamente rápido. Los resultados son tiempos de respuesta más rápidos para devolver el contenido a los usuarios y un número reducido de solicitudes que deben ser satisfechas por Magento.

Los recursos almacenados en caché por Varnish caducan en un intervalo configurable o se reemplazan por versiones más nuevas de los mismos recursos. También puede borrar la caché manualmente usando Magento Admin o el comando magento cache: clean .

Panorámica del proceso

En esta sección veremos cómo instalar inicialmente Varnish con un conjunto mínimo de parámetros y probar su funcionamiento. Luego, exportará una configuración de Varnish del administrador de Magento y la probará nuevamente.

El proceso se puede resumir de la siguiente manera:

  • Instale Varnish y pruébelo yendo a cualquier página de Magento para ver si obtiene encabezados de respuesta HTTP que indiquen que Varnish está funcionando.
  • Instale el software Magento y use el administrador de Magento para crear un archivo de configuración de Varnish.
  • Reemplace su archivo de configuración de Varnish existente por el generado por el administrador.
  • Intente todo de nuevo.

Si no hay nada en su directory <magento_root> / var / page_cache,¡ha configurado Varnish con éxito con Magento!

A menos que se especifique lo contrario, debe ingresar todos los comandos discutidos anteriormente, como un usuario con privilegios de root.
Esto se aplica a Varnish en CentOS y Apache 2.4. Si está configurando Varnish en un entorno diferente, algunos comandos pueden ser diferentes. Consulte la documentación de Varnish para obtener más información.

Problemas encontrados

En este proceso pueden surgir algunos problemas, veamos cuáles:

  • Varnish no es compatible con SSL.
    Alternativamente, utilice la terminación SSL o un proxy de terminación SSL.
  • Si elimina manualmente el contenido del directorio <magento_root> / var / cache, debe reiniciar Varnish.
  • Posible error al instalar Magento:
Error 503 Service Unavailable
Service Unavailable
XID: 303394517
Varnish cache server

Si se produce este error, edite default.vcl y agregue un tiempo de espera al backend de la siguiente manera:

backend default {
    .host = "127.0.0.1";
    .port = "8080";
    .first_byte_timeout = 600s;
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada.