OpenLiteSpeed 快取設定教學
OpenLiteSpeed 的快取模組參數與 Enterprise 快取設置相似,這些參數提供了基本的快取設置方式。以下是各個參數的說明及其作用:
基本快取設置
enableCache
- 功能:啟用或禁用公共快取。
- 設置值:設為 1 啟用,設為 0 禁用。
- 說明:如果同時啟用了公共和私有快取,OpenLiteSpeed 會優先儲存到私有快取。
qsCache
- 功能:啟用或禁用包含查詢字串的 URI 的快取。
- 設置值:設為 1 啟用,設為 0 禁用。
reqCookieCache
- 功能:設置對帶有 Cookie 的請求的快取反應。
- 設置值:設為 1 啟用,設為 0 禁用。
- 說明:啟用時,帶有 Cookie 的請求將從快取中獲得響應(如果存在快取副本)。禁用時,則不會提供快取響應。
respCookieCache
- 功能:設置如何處理帶有 Set-Cookie 標頭的響應。
- 設置值:設為 1 啟用,設為 0 禁用。
- 說明:啟用時,帶有 Set-Cookie 標頭的響應將被快取;禁用時,則不會被快取。
ignoreReqCacheCtrl
- 功能:忽略請求中的快取控制設置。
- 設置值:設為 1 啟用。
ignoreRespCacheCtrl
- 功能:忽略響應中的快取控制設置。
- 設置值:設為 1 啟用。
expireInSeconds
maxStaleAge
- 功能:設置快取過期後仍可提供的最長時間(以秒為單位)。
私有快取設置
enablePrivateCache
- 功能:啟用或禁用私有快取。
- 設置值:設為 1 啟用,設為 0 禁用。
privateExpireInSeconds
快取儲存路徑
- storagePath
- 功能:設置快取數據儲存的目錄。
- 說明:以 / 開頭的路徑為絕對路徑,否則為相對於 OpenLiteSpeed 根目錄的相對路徑。可以使用 $VH_ROOT、$VH_NAME 和 $SERVER_ROOT 變量來指定不同虛擬主機的快取目錄。
其他設置
checkPrivateCache
- 功能:檢查私有快取是否存在可提供的快取條目。
- 設置值:設為 1 啟用。
checkPublicCache
- 功能:檢查公共快取是否存在可提供的快取條目。
- 設置值:設為 1 啟用。
配置範例
以下是可以複製並貼上到配置文件中的範例:
module cache {
internal 1
ls_enabled 1
storagePath $SERVER_ROOT/cachedata
checkPrivateCache 1
checkPublicCache 1
maxCacheObjSize 10000000
maxStaleAge 0
qsCache 1
reqCookieCache 1
respCookieCache 1
ignoreReqCacheCtrl 1
ignoreRespCacheCtrl 0
enableCache 0
expireInSeconds 3600
enablePrivateCache 0
privateExpireInSeconds 3600
}
快取設置繼承
所有模組必須在服務器級別註冊。一旦模組註冊,設置將被更具體的設置級別(虛擬主機、上下文和腳本處理程序)繼承。這些配置可以在更具體的級別修改,更具體級別的設置總是會覆蓋更一般的級別設置。例如,虛擬主機級別的配置會覆蓋服務器級別的配置,而上下文級別的配置會覆蓋虛擬主機級別的配置。
設置虛擬主機級別的快取設置
如果您運行共享主機服務器,可能需要為每個用戶的根目錄設置虛擬主機級別的設置。如果未設置虛擬主機級別配置,則會繼承服務器級別的配置。
例如,可以進入「Example Virtual Host > Modules > Add」,並從模組下拉列表中選擇「cache」。輸入模組參數來設置快取,並將「Enable Module」設置為「Yes」。
這是可以複製並貼上到配置文件中的範例:
module cache {
ls_enabled 1
storagePath $VH_ROOT/lscache
checkPrivateCache 1
checkPublicCache 1
maxCacheObjSize 10000000
maxStaleAge 0
qsCache 1
reqCookieCache 1
respCookieCache 1
ignoreReqCacheCtrl 1
ignoreRespCacheCtrl 0
enableCache 0
expireInSeconds 3600
enablePrivateCache 0
privateExpireInSeconds 3600
}
使用 LSCache
在服務器級別配置快取模組只是其中一部分。您還需要為您的網絡應用啟用快取,這可以通過安裝相應的 LSCache 插件來完成,或者如果沒有插件可用,可以在 .htaccess 中使用重寫規則。
測試
您可以通過查看快取頁面的標頭來確認 LSCache 是否正常工作。從公共快取提供的頁面將顯示標頭「X-LiteSpeed-Cache: hit」,而從私有快取提供的頁面將顯示標頭「X-LiteSpeed-Cache: hit, private」。