Varnish を使用するようにCommerce アプリケーションを設定します。
Varnish を使用するようにCommerceを設定するには:
-
管理者として管理者にログインします。
-
Stores/設定/設定/詳細/システム/フルページキャッシュ をクリックします。
-
Caching Application リストから、Varnish Caching をクリックします。
-
TTL for public content フィールドに値を入力します。
-
Varnish Configuration を展開し、次の情報を入力します。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 フィールド 説明 アクセスリスト コンテンツを無効にする完全修飾ホスト名、IP アドレス、または Classless Inter-domain Routing (CIDR)表記の IP アドレス範囲を入力します。 Varnish キャッシュのパージを参照してください。 バックエンドホスト Varnish バックエンド または オリジンサーバー の完全修飾ホスト名または IP アドレスとリッスンポートを入力します。つまり、Varnish が加速するコンテンツを提供するサーバーです。 通常、これは web サーバーです。 Varnish キャッシュバックエンドサーバーを参照してください。 バックエンドポート オリジンサーバーのリッスンポート。 猶予期間 バックエンドが応答しない場合に、ワニスが古いコンテンツを提供する期間を決定します。 デフォルト値は 300 秒です。 パラメータサイズを処理 フルページキャッシュ用に {BASE-URL}/page_cache/block/esi
HTTP エンドポイントで処理する レイアウトハンドルの最大数を指定します。 サイズを制限すると、セキュリティとパフォーマンスが向上する可能性があります。 デフォルトは 100 です。 -
「設定を保存」をクリックします。
C のコマンドラインインターフェイスツールを使用して、Admin にログインする代わりに、コマンドラインから Varnish をアクティブ化することもできます。
bin/magento config:set --scope=default --scope-code=0 system/full_page_cache/caching_application 2
Varnish 設定ファイルをエクスポートする
管理者から Varnish 設定ファイルをエクスポートするには、次の手順に従います。
-
いずれかの書き出しボタンをクリックして、Varnish で使用できる
varnish.vcl
を作成します。たとえば、Varnish 4 がある場合は、[Varnish 4 の VCL を書き出す] をクリックします
次の図に例を示します。
-
既存の
default.vcl
をバックアップします。 次に、default.vcl
に書き出したvarnish.vcl
ファイルの名前を変更します。 次に、ファイルを/etc/varnish/
ディレクトリにコピーします。code language-bash cp /etc/varnish/default.vcl /etc/varnish/default.vcl.bak2
code language-bash mv <download_directory>/varnish.vcl default.vcl
code language-bash cp <download_directory>/default.vcl /etc/varnish/default.vcl
-
Adobeは、
default.vcl
を開き、acl purge
の値を Varnish ホストの IP アドレスに変更することをお勧めします。 (複数のホストを別々の行に指定することも、CIDR 表記を使用することもできます)。以下に例を挙げます。
code language-conf acl purge { "localhost"; }
-
Vagrant ヘルスチェック、猶予モードまたは saint モードの設定をカスタマイズする場合は、 高度な Varnish 設定を参照してください。
-
Varnish と Web サーバーを再起動します。
code language-bash service varnish restart
code language-bash service httpd restart
静的ファイルをキャッシュ
静的ファイルはデフォルトではキャッシュしてはいけませんが、静的ファイルをキャッシュする場合は、VCL の Static files caching
のセクションを編集して、次の内容を指定できます。
# Static files should not be cached by default
return (pass);
# But if you use a few locales and do not use CDN you can enable caching static files by commenting previous line (#return (pass);) and uncommenting next 3 lines
#unset req.http.Https;
#unset req.http./* {{ ssl_offloaded_header }} */;
#unset req.http.Cookie;
Commerceで Varnish を使用するように設定する前に、これらの変更を行う必要があります。