Como liberar o cache do dispatcher quando há farms com pastas de cache separadas
Saiba como liberar o cache do dispatcher quando há farms com pastas de cache separadas. Definir cabeçalho do host e configurar a ID de usuário agente.
Descrição description
Ambiente
Serviços da Experience Cloud
Problema/Sintomas
Como liberar o cache do dispatcher quando há farms com pastas de cache separadas.
Resolução resolution
Para configurar um agente de liberação do dispatcher por farm de dispatchers, defina o cabeçalho do Host e configure a ID do usuário do agente com um usuário que tenha acesso de leitura a caminhos relevantes.
Nas soluções abaixo, pressupomos o seguinte:
- Você está usando o Apache HTTP Server 2.2 ou versão posterior
- Vários hosts virtuais configurados
- Vários farms do dispatcher com caches separados
Por exemplo:
Configurações do 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
Na configuração do dispatcher, você tem vários farms configurados para lidar com sites diferentes por nome de host (virtualhosts):
/virtualhosts
{
"*geometrixx.com*"
}
/renders
{
...
}
/cache {
/docroot "/var/www/html/cache-www-geometrixx-com"
Configurar vários agentes de limpeza
Se você tiver apenas alguns farms do dispatcher separados (cinco ou menos), configurar vários agentes de limpeza é uma solução fácil.
ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
-
Abra http://aem-host:port/miscadmin para cada instância de publicação do AEM.
-
Navegar para Replicação
>
Agentes no Publish. -
Clique em Editar.
-
Na ID de Usuário Agente, digite o nome de um usuário que você criará mais tarde e que será associado a este agente. Você pode usar uma convenção de nomenclatura com o nome do host do site. Por exemplo: "flush-agent-www-geometrixx-com".
-
Selecione a guia Estendida .
-
Em HTTP Headers, adicione outro cabeçalho. Para o valor, digite "Host: www.geometrixx.com", onde "www.geometrixx.com" deve ser substituído por um dos hosts DNS dos sites.
-
Clique em Ok para salvar.
-
Vá para http://aem-host:port/useradmin e crie o usuário a partir da etapa 4.
-
Na guia Permissões do usuário, conceda a ele acesso de leitura a todos os caminhos que você deseja que o agente libere para o site referenciado. Por exemplo: /content/geometrixx, /content/dam, /etc, /libs, /apps, /var.
-
Clique em Salvar.
-
Repita as etapas de 1 a 10 para todos os outros sites em cada instância de publicação. Você criará um agente de liberação para cada site em cada instância de publicação.
-
No servidor Web, compartilhe caminhos comuns usando symlinks. Por exemplo, você pode definir symlinks para /content/dam, /etc., /libs, /apps e /var para um local de cache comum. Em seguida, /content e qualquer item na raiz do cache seriam armazenados em cache separadamente. Este é um exemplo de comando para a pasta /libs
code language-none ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
-
Agora, quando você ativa páginas em um site específico, a solicitação de liberação é direcionada somente ao agente de limpeza aplicável.