Come pulire la cache del dispatcher quando sono presenti farm con cartelle cache separate

Quando ho più host virtuali con farm cache AEM Dispatcher separate configurate nel mio server web, allora come faccio a pulire la cache corretta da AEM?

Ambiente

Server HTTP Apache / dispatcher AEM

Passaggi

Imposta un agente di pulizia del dispatcher per ogni farm del dispatcher, imposta l’intestazione Host e configura l’ID dell’utente agente con un utente che possa accedere in lettura ai percorsi rilevanti.

Nelle soluzioni riportate si assume quanto segue:

  • Stai utilizzando Apache HTTP Server 2.2 o versione successiva
  • VirtualHosts multipli configurati
  • Diversi farm del dispatcher con cache separate

Per esempio:
Configurazioni Apache httpd VirtualHost:

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

Nella configurazione del dispatcher, hai più farm configurate per gestire diversi siti in base al nome dell'host (virtualhost):

/virtualhosts
  {
      "*geometrixx.com*"
  }

  /renders
  {
        ...
  }

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

Impostare più agenti di pulizia

Se hai solo poche farm del dispatcher separate (5 o meno), la configurazione di più agenti di pulizia è una soluzione semplice.

  1. Apri http://aem-host:port/miscadmin per ogni istanza di pubblicazione di AEM.

  2. Passa a Replication => Agents on Publish.

  3. Fai clic su Modifica.

  4. Sotto l'ID utente agente immettere il nome di un utente che si creerà in seguito e che sarà associato a questo agente.  Potresti utilizzare una convenzione di denominazione con il nome dell'host name del sito.  Per esempio: "flush-agent-www-geometrixx-com". 

  5. Seleziona la scheda "extended".

  6. Sotto HTTP Headers aggiungi un'altra intestazione.  Come valore inserisci "Host: www.geometrixx.com" dove "www.geometrixx.com" dovrebbe essere sostituito da uno degli host DNS dei siti.

  7. Fai clic su Ok per salvare.

  8. Vai su http://aem-host:port/useradmin e crea l'utente dal passo 4.

  9. Nella scheda Autorizzazioni dell'utente, concedere all'utente l'accesso in lettura a tutti i percorsi in cui si desidera che l'agente possa eseguire la pulizia del sito di riferimento.  Per esempio: /content/geometrixx, /content/dam, /etc, /libs, /apps, /var.

  10. Salva.

  11. Ripeti i passaggi da 1 a 10 per tutti gli altri siti su ogni istanza di pubblicazione.  Verrà creato un agente di pulizia per ogni sito su ogni istanza di pubblicazione.

  12. Sul server web, condividi i percorsi comuni utilizzando i link simbolici.  Per esempio, si possono impostare i collegamenti simbolici per /content/dam, /etc, /libs, /apps e /var in una posizione comune della cache.  Quindi /content e tutto ciò che si trova sotto la radice della cache verrebbe messo in cache separatamente.  Ecco un esempio di comando per la cartella /libs. 

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

  13. Ora, quando si attivano pagine sotto un sito specifico, la richiesta di pulizia viene indirizzata solo all'agente di pulizia applicabile.

Logo Adobe

Accedi al tuo account