Comment vider le cache du Dispatcher lorsqu’il existe des fermes avec des dossiers de cache distincts
Découvrez comment vider le cache du Dispatcher lorsqu’il existe des fermes avec des dossiers de cache distincts. Définissez l’en-tête de l’hôte et configurez 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 avec des dossiers de cache distincts.
Résolution resolution
Pour configurer un agent de vidage du Dispatcher par batterie de Dispatcher, définissez l’en-tête de l’hôte et configurez l’ID utilisateur de l’agent avec un utilisateur disposant d’un accès en lecture aux chemins d’accès pertinents.
Dans les solutions ci-dessous, nous supposons que :
- Vous utilisez Apache HTTP Server 2.2 ou une version ultérieure
- Plusieurs hôtes virtuels configurés
- Plusieurs fermes de Dispatcher avec des caches distincts
Par exemple :
Configurations d’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 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 vidage
Si vous ne disposez que d’une poignée de fermes de 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
-
Ouvrez :port/miscadmin pour chaque instance de publication AEM.
-
Accédez à Réplication
>agents sur l’instance de publication. -
Cliquez sur Modifier.
-
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 de nommage avec le nom d’hôte du site. Par exemple : « flush-agent-www-geometrixx-com ».
-
Sélectionnez l’onglet étendu.
-
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.
-
Cliquez sur Ok pour enregistrer.
-
Accédez à :port/useradmin et créez l’utilisateur à partir de l’étape 4.
-
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.
-
Cliquez sur Enregistrer.
-
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.
-
Sur le serveur web, partagez des chemins d’accès communs à l’aide de liens symboliques. Par exemple, vous pouvez définir les liens symboliques pour /content/dam, /etc., /libs, /apps et /var sur 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. Voici un 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 -
Désormais, lorsque vous activez des pages sous un site spécifique, la demande de vidage est uniquement dirigée vers l’agent de vidage applicable.