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 httpd 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 host name (virtualhosts):
/virtualhosts { "*geometrixx.com*" } /renders { ... } /cache { /docroot "/var/www/html/cache-www-geometrixx-com"
If you only have a handful of separate dispatcher farms (5 or less), then configuring multiple flush agents is an easy solution.
-
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's an example command for the /libs folder
ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache