如果有具有單獨快取資料夾的陣列,如何清除Dispatcher快取
瞭解當存在具有單獨快取資料夾的陣列時如何清除Dispatcher快取。 設定Host標頭並設定 代理程式使用者ID。
說明 description
環境
Experience Cloud Services
問題/症狀
如果有具有單獨快取資料夾的陣列,如何清除Dispatcher快取。
解決方法 resolution
若要為每個Dispatcher陣列設定一個Dispatcher Flush代理程式,請設定Host標頭,並將 代理程式使用者ID 設定為具有相關路徑讀取存取許可權的使用者。
在以下解決方案中,我們假定:
- 您使用的是Apache HTTP Server 2.2或更新版本
- 已設定多個虛擬主機
- 具有單獨快取的多個Dispatcher陣列
例如:
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
在Dispatcher設定中,您有多個陣列設定為依主機名稱(virtualhosts)處理不同的網站:
/virtualhosts
{
"*geometrixx.com*"
}
/renders
{
...
}
/cache {
/docroot "/var/www/html/cache-www-geometrixx-com"
設定多個排清代理程式
如果您只有幾個不同的Dispatcher陣列(五個或更少),那麼設定多個排清代理程式是一個簡單的解決方案。
ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
-
開啟每個AEM發佈執行個體的 http://aem-host:port/miscadmin。
-
瀏覽至 復寫
>
Publish上的代理程式。 -
按一下 編輯。
-
在 代理程式使用者ID 下,輸入您稍後建立之與此代理程式關聯的使用者名稱。 您可以使用網站主機名稱的命名慣例。 例如:"flush-agent-www-geometrixx-com"。
-
選取 延伸 標籤 .
-
在 HTTP標頭底下, 新增另一個標頭。 在值中,輸入「Host: www.geometrixx.com」,其中「www.geometrixx.com」應取代為其中一個網站的DNS主機。
-
按一下 確定 以儲存。
-
移至 http://aem-host:port/useradmin 並從步驟4建立使用者。
-
在使用者的 許可權 標籤上,授與您想要允許代理程式排清參考網站的任何路徑的使用者讀取存取權。 例如: /content/geometrixx、/content/dam、/etc、/libs、/apps、/var。
-
按一下 儲存。
-
對每個發佈執行個體上的所有其他網站重複步驟1至10。 您將為每個發佈執行個體上的每個網站建立一個排清代理程式。
-
在Web伺服器上,使用符號連結來共用通用路徑。 例如,您可以將/content/dam、/etc.、/libs、/apps和/var的符號連結設定為通用的快取位置。 接著/content和快取根目錄下的任何專案都會個別快取。 以下是/libs資料夾的命令範例
code language-none ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
-
現在,當您啟動特定網站下的頁面時,排清請求只會導向適用的排清代理程式。