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 秒です。 パラメータサイズを処理 フルページキャッシュ用に HTTP エンドポイントで処理するレイアウトハンドル {BASE-URL}/page_cache/block/esi
の最大数を指定します。 サイズを制限すると、セキュリティとパフォーマンスが向上する可能性があります。 デフォルトは 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
をバックアップします。 次に、varnish.vcl
に書き出したdefault.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 を使用するように設定する前に、これらの変更を行う必要があります。