Comment vider le cache du Dispatcher lorsqu’il existe des fermes de serveurs avec des dossiers de cache distincts

Découvrez comment vider le cache du Dispatcher lorsqu’il existe des fermes de serveurs avec des dossiers de cache distincts. Définissez l’en-tête de l’hôte et configurez l’ID utilisateur de l’agent.

Description description

Environnement

Services Experience Cloud

Problème/Symptômes

Comment vider le cache du Dispatcher lorsqu’il existe des fermes de serveurs avec des dossiers de cache distincts.

Résolution resolution

Pour configurer un agent de vidage du répartiteur par ferme de serveurs de répartiteurs, définissez l’en-tête Host et configurez l’ ID utilisateur de l’agent avec un utilisateur disposant d’un accès en lecture aux chemins appropriés.

Dans les solutions ci-dessous, nous supposons que :

  • Vous utilisez Apache HTTP Server 2.2 ou version ultérieure.
  • Plusieurs hôtes virtuels configurés
  • Plusieurs fermes de Dispatcher avec des caches distincts

Par exemple :

Configurations Apache https 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

Dans la configuration du Dispatcher, plusieurs fermes de serveurs sont configurées pour gérer différents sites par nom d’hôte (virtualhosts) :

/virtualhosts
 {
 "*geometrixx.com*"
 }
 /renders
 {
 ...
 }
 /cache {
 /docroot "/var/www/html/cache-www-geometrixx-com"

Configuration de plusieurs agents de purge

Si vous ne disposez que d’une poignée de fermes de serveurs Dispatcher distinctes (cinq ou moins), la configuration de plusieurs agents de vidage est une solution facile.

ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
  1. Ouvrez http://aem-host:port/miscadmin pour chaque instance de publication AEM.

  2. Accédez à Réplication >  Agents sur Publish.

  3. Cliquez sur Modifier.

  4. Sous l’ ID utilisateur de l’agent, saisissez le nom d’un utilisateur que vous créez ultérieurement et qui sera associé à cet agent. Vous pouvez utiliser une convention d’affectation des noms avec le nom d’hôte du site. Par exemple : "flush-agent-www-geometrixx-com".

  5. Sélectionnez l'onglet étendu .

  6. Sous En-têtes HTTP, ajoutez un autre en-tête. Pour la valeur , saisissez "Host: www.geometrixx.com" où "www.geometrixx.com" doit être remplacé par l’un des hôtes DNS des sites.

  7. Cliquez sur Ok pour enregistrer.

  8. Accédez à http://aem-host:port/useradmin  et créez l’utilisateur à partir de l’étape 4.

  9. Dans l'onglet Autorisations de l'utilisateur, accordez à l'utilisateur l'accès en lecture à tous les chemins que vous souhaitez que l'agent soit autorisé à vider pour le site référencé. Par exemple : /content/geometrixx, /content/dam, /etc, /libs, /apps, /var.

  10. Cliquez sur Enregistrer.

  11. Répétez les étapes 1 à 10 pour tous les autres sites sur chaque instance de publication. Vous allez créer un agent de vidage pour chaque site sur chaque instance de publication.

  12. Sur le serveur web, partagez les chemins communs à l’aide de liens symboliques. Par exemple, vous pouvez définir des liens symboliques pour /content/dam, /etc., /libs, /apps et /var vers un emplacement de cache commun. Ensuite, /content et tout ce qui se trouve sous la racine du cache sont mis en cache séparément. Exemple de commande pour le dossier /libs

    code language-none
    ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
    
  13. Désormais, lorsque vous activez des pages sous un site spécifique, la requête de purge n’est dirigée que vers l’agent de purge applicable.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f