設定Commerce應用程式以使用Varnish

若要設定Commerce使用清漆:

  1. 以管理員身分登入管理員。

  2. 按一下 Stores >設定> 設定 > 進階 > 系統 > 完整頁面快取.

  3. Caching Application 清單,按一下 清漆快取.

  4. TTL for public content 欄位。

  5. 展開 Varnish Configuration 並輸入下列資訊:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
    欄位 說明
    存取清單 輸入完整的主機名稱、IP位址或 無類別網域間路由(CIDR) 表示法IP位址範圍讓內容失效。 另請參閱 清漆快取清除.
    後端主機 輸入完整的主機名稱或IP位址,並接聽Varnish的連線埠 後端原始伺服器;也就是說,提供內容清漆的伺服器會加速。 通常這是您的網頁伺服器。 另請參閱 清漆快取後端伺服器.
    後端連線埠 原始伺服器的接聽連線埠。
    寬限期 決定如果後端沒有回應,Varnish提供過時內容的時間長度。 預設值為300秒。
    處理引數大小 指定最大數量: 配置控點 處理 {BASE-URL}/page_cache/block/esi 完整頁面快取的HTTP端點。 限制大小可以改善安全性和效能。 預設值為100。
  6. 按一下 儲存設定.

您也可以使用C命令列介面工具,從命令列啟動Varnish (而不是登入Admin):

bin/magento config:set --scope=default --scope-code=0 system/full_page_cache/caching_application 2

匯出清漆組態檔

若要從Admin匯出Varnish組態檔:

  1. 按一下其中一個匯出按鈕以建立 varnish.vcl 您可以搭配Varnish使用。

    例如,如果您有「亮漆4」,請按一下 轉存光澤的VCL 4

    下圖顯示一個範例:

    設定Commerce在管理員中使用塗漆

  2. 備份您現有的 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
    
  3. Adobe建議您開啟 default.vcl 並變更值 acl purge 到Varnish主機的IP位址。 (您可以在不同的行上指定多個主機,也可以使用CIDR標籤法。)

    例如,

    code language-conf
     acl purge {
        "localhost";
     }
    
  4. 如果要自訂Vagrant健康情況檢查或寬限模式或saint模式設定,請參閱 進階清漆組態.

  5. 重新啟動Varnish與您的網頁伺服器:

    code language-bash
    service varnish restart
    
    code language-bash
    service httpd restart
    

快取靜態檔案

預設不應快取靜態檔案,但如果您想要快取它們,可以編輯區段 Static files caching 在VCL中擁有下列內容:

# 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。

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c