51黑料不打烊

How to flush the dispatcher cache when there are farms with separate cache folders

Learn how to flush the dispatcher cache when there are farms with separate cache folders.聽Set Host header and configure Agent User ID.

Description description

Environment

Experience Cloud Services

Issue/Symptoms

How to flush the dispatcher cache when there are farms with separate cache folders.

Resolution resolution

To set up one dispatcher flush agent per dispatcher farm, set the Host header and configure the Agent user ID 聽with a user that has read access to relevant paths.

In the solutions below, we assume the following:

  • You are using Apache HTTP Server 2.2 or later version
  • Multiple VirtualHosts configured
  • Multiple dispatcher farms with separate caches

For example:

Apache https VirtualHost configurations:

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

In the dispatcher configuration, you have multiple farms configured to handle different sites by hostname (virtualhosts):

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

Set up multiple Flush Agents

If you only have a handful of separate dispatcher farms (five or less), then configuring multiple flush agents is an easy solution.

ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
  1. Open http://aem-host:port/miscadmin for each AEM publish instance.

  2. Browse to Replication > 聽Agents on Publish.

  3. Click Edit.

  4. Under the Agent User ID, enter the name for a user which you create later that would be associated with this agent. You could use a naming convention with the hostname of the site. For example: 鈥渇lush-agent-www-geometrixx-com鈥.

  5. Select the Extended 听迟补产 .

  6. Under HTTP Headers, add another header. For value, enter 鈥淗ost: www.geometrixx.com鈥 where 鈥渨ww.geometrixx.com鈥 should be replaced by one of the sites鈥 DNS hosts.

  7. 颁濒颈肠办听 Ok 聽to save.

  8. Go to聽 http://aem-host:port/useradmin 聽and create the user from step 4.

  9. On the Permissions tab of the user, grant the user read access to any paths that you would like the agent to be allowed to flush for the referenced site. For example: /content/geometrixx, /content/dam, /etc, /libs, /apps, /var.

  10. Click Save.

  11. Repeat steps 1 - 10 for all other sites on each publish instance. You will be creating one flush agent for each site on each publish instance.

  12. On the web server, share common paths using symlinks. For example, you could set symlinks for /content/dam, /etc., /libs, /apps, and /var to a common cache location. Then /content and anything under the root of the cache would be separately cached. Here鈥檚 an example command for the /libs folder

    code language-none
    ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
    
  13. Now, when you activate pages under a specific site, the flush request is only聽directed to the applicable flush agent.

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