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
-
Ouvrez http://aem-host:port/miscadmin pour chaque instance de publication AEM.
-
Accédez à Réplication
>
Agents sur Publish. -
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 d’affectation des noms 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 à http://aem-host: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 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
-
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.