個別のキャッシュフォルダーを持つファームがある場合にDispatcher キャッシュをフラッシュする方法
個別のキャッシュフォルダーを持つファームがある場合に、Dispatcher キャッシュをフラッシュする方法を説明します。 ホスト ヘッダーを設定し、エージェント ユーザーIDを設定します
説明 description
環境
Experience Cloud サービス
問題/症状
個別のキャッシュフォルダーを持つファームがある場合にDispatcher キャッシュをフラッシュする方法。
解決策 resolution
Dispatcher ファームごとに1つのDispatcher フラッシュエージェントを設定するには、ホスト ヘッダーを設定し、関連するパスへの読み取りアクセス権を持つユーザーで エージェントユーザーID を設定します。
以下のソリューションでは、次の要素を想定しています。
- Apache HTTP Server 2.2以降を使用している
- 複数のVirtualHostsが設定されました
- 個別のキャッシュを持つ複数の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 ファーム(5つ以下)しか持っていない場合、複数のフラッシュエージェントを設定することは簡単な解決策です。
ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
-
各AEM パブリッシュインスタンスの http://aem-host:port/miscadmin を開きます。
-
パブリッシュで レプリケーション
>エージェントを参照します。 -
「編集」をクリックします。
-
エージェントユーザーIDの下に、後でこのエージェントに関連付けて作成するユーザーの名前を入力します。 サイトのホスト名に命名規則を使用できます。 例:“flush-agent-www-geometrixx-com”。
-
拡張 タブ を選択します。
-
HTTP ヘッダーの下に、別のヘッダーを追加します。 値には、「Host: www.geometrixx.com」と入力します。「www.geometrixx.com」は、サイトのDNS ホストのいずれかに置き換える必要があります。
-
OKをクリックして保存します。
-
http://aem-host:port/useradmin に移動し、手順4からユーザーを作成します。
-
ユーザーの「権限」タブで、エージェントが参照サイトのフラッシュを許可する任意のパスに対する読み取りアクセス権をユーザーに付与します。 例:/content/geometrixx、/content/dam、/etc、/libs、/apps、/var
-
「保存」をクリックします。
-
各公開インスタンスのその他のすべてのサイトについて、手順1~10を繰り返します。 パブリッシュインスタンスごとに1つのフラッシュエージェントを作成します。
-
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 -
これで、特定のサイトでページをアクティブ化すると、フラッシュリクエストは該当するフラッシュエージェントにのみ送信されます。