Vacío de la caché de Dispatcher cuando hay granjas con carpetas de caché separadas

Cuando tengo varios hosts virtuales con granjas de caché de AEM Dispatcher separadas configuradas en mi servidor web, ¿cómo vacío la caché correcta de AEM?

Entorno

Servidor HTTP Apache/AEM Dispatcher

Pasos

Configure un agente de vaciado de Dispatcher por cada granja de Dispatcher, configure el encabezado del host y configure el "ID de usuario del agente" con un usuario que tenga acceso de lectura a las rutas relevantes.

En las soluciones siguientes asumimos lo siguiente:

  • Está utilizando el servidor de Apache HTTP 2.2 o una versión posterior.
  • Múltiples VirtualHosts configurados.
  • Múltiples granjas de Dispatcher con cachés separadas.

Por ejemplo:
Configuraciones de httpd VirtualHost de Apache:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.geometrixx.com
    ServerAlias *.geometrixx.com
    DocumentRoot /var/www/html/cache-www-geometrixx-com
     ...  
</VirtualHost>

<VirtualHost *:80>
    ServerName www.geometrixx-outdoors.com
    ServerAlias *.geometrixx-outdoors.com
    DocumentRoot <Global Doc root>/site2
    Include <Configurations specific to site2>
</VirtualHost>
DocumentRoot /var/www/html/cache-www-geometrixx-outdoors-com

En la configuración de Dispatcher tiene varias granjas configuradas para manejar diferentes sitios por nombre de host (hosts virtuales):

/virtualhosts
  {
      "*geometrixx.com*"
  }

  /renders
  {
        ...
  }

  /cache {
       /docroot "/var/www/html/cache-www-geometrixx-com"

Configurar varios agentes de vaciado

Si solo tiene un puñado de granjas de Dispatcher separadas (5 o menos), entonces la configuración de múltiples agentes de descarga es una solución fácil.

  1. Abra http://aem-host:port/miscadmin para cada instancia de publicación de AEM.

  2. Navegar a Replicación => Agentes en Publicaciones.

  3. Haga clic en Editar.

  4. En el ID de usuario del agente, introduzca el nombre de un usuario que cree más tarde y que está asociado con este agente.  Puede utilizar una convención de nomenclatura con el nombre de host del sitio.  Por ejemplo, flush-agent-www-geometrixx-com. 

  5. Seleccione la pestaña Extendida.

  6. En Encabezados HTTP agregue otro encabezado.  Como valor introduzca "Host: www.geometrixx.com" donde "www.geometrixx.com" debe ser reemplazado por uno de los hosts DNS de los sitios.

  7. Haga clic en Aceptar para guardar.

  8. Vaya a http://aem-host:port/useradmin y cree el usuario desde el paso 4.

  9. En la pestaña Permisos del usuario, conceda al usuario acceso de lectura a las rutas que desee que el agente pueda vaciar para el sitio al que se hace referencia.  Por ejemplo: /content/geometrixx, /content/dam, /etc, /libs, /apps, /var.

  10. Guarde.

  11. Repita los pasos del 1 al 10 con todos los demás sitios en cada instancia de publicación.  Se crea un agente de vaciado para cada sitio en cada instancia de publicación.

  12. En el servidor web, comparta rutas comunes utilizando enlaces simbólicos.  Por ejemplo, puede establecer enlaces simbólicos para /content/dam, /etc, /libs, /apps y /var en una ubicación de caché común.  Entonces /content y cualquier cosa bajo la raíz de la caché se almacena en caché por separado.  He aquí un comando de ejemplo para la carpeta /libs. 

    ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache

  13. Ahora, cuando active las páginas bajo un sitio específico, la solicitud de vaciado solo se dirige al agente de vaciado correspondiente.

Logotipo de Adobe

Inicia sesión en tu cuenta