設定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的伺服器會加速。 通常這是您的網頁伺服器。 請參閱清漆快取後端伺服器
    後端連線埠 原始伺服器的接聽連線埠。
    寬限期 決定如果後端沒有回應,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搭配使用的varnish.vcl

    例如,如果您有Varnish 4,請按一下​ Export VCL for Varnish 4

    下圖顯示一個範例:

    設定Commerce以在Admin中使用Varnish

  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
    

快取靜態檔案

預設不應該快取靜態檔案,但如果您要快取它們,可以編輯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。

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