OpenLiteSpeed 页面缓存概述
OpenLiteSpeed 内置的页面缓存模块能有效减轻服务器负载,显著提升网站页面加载速度。对于访问量较大的网站,启用缓存是优化性能的关键步骤。
注意:所有模块必须在服务器级别注册后才能进行配置。本文假设您已完成模块注册,若未注册,请先参考相关文档完成此步骤。
开启页面缓存模块
要使用页面缓存功能,请确保您的 OpenLiteSpeed 版本为 1.3 或更高。以下是配置步骤:
步骤 1:添加缓存模块
- 登录 OpenLiteSpeed WebAdmin 控制台。
- 导航至:
Configuration > Server > Modules。 - 点击 Add 按钮添加新模块。
步骤 2:配置模块参数
在添加模块的界面中,进行如下设置:
- 模块名称:填写为
cache。 - 模块参数 (Module Parameters):填入以下配置(参数说明见文末):
enableCache 0
qsCache 1
reqCookieCache 1
respCookieCache 1
ignoreReqCacheCtrl 0
ignoreRespCacheCtrl 0
expireInSeconds 2000
maxStaleAge 1000
enablePrivateCache 1
privateExpireInSeconds 1000
storagePath
配置完成后,点击右上角的 Save 保存。此设置为服务器全局配置,但可以在虚拟主机级别进行覆盖和细化设置。
为虚拟主机配置缓存 Rewrite 规则
在服务器启用缓存模块后,您可以为特定的虚拟主机配置 Rewrite 规则来控制缓存行为。
前提条件
确保目标虚拟主机已启用 Rewrite 功能。路径为:WebAdmin console > Configuration > Virtual Hosts > [您的虚拟主机] > Rewrite。
常用 Rewrite 规则示例
以下规则需添加到虚拟主机的 Rewrite 配置中。
示例 1:缓存指定目录下的 PHP 文件
缓存 cacheable/ 目录下所有 .php 文件,有效期 120 秒。
RewriteRule cacheable/(.*.php)?$ - [L,E=cache-control:max-age=120]
示例 2:为登录用户启用私有缓存
此规则将为已登录用户(通过 Cookie 判断)缓存特定类型的静态文件,并标记为私有缓存。
# 为已登录用户启用私有缓存
RewriteCond %{REQUEST_METHOD} ^HEAD|GET$
RewriteCond %{HTTP_COOKIE} loginuser
RewriteCond %{ORG_REQ_URI} !^/index.php$
RewriteCond %{ORG_REQ_URI} (.php|.html|.htm|.feed|.pdf|/[^.]*)$ [NC]
RewriteRule .* - [E=cache-control:private,L]
示例 3:为特定虚拟主机禁用缓存
添加以下规则可使该虚拟主机的所有请求都不被缓存。
RewriteRule .* - [E=Cache-Control:no-cache]
缓存模块参数详解
下表详细说明了服务器级别缓存模块的各项参数:
| 参数名 | 说明 | 建议值 |
|---|---|---|
enableCache |
启用或禁用公共缓存。1=启用,0=禁用。如果公共和私有缓存同时启用,将优先使用私有缓存。 | 0 (按需在虚拟主机启用) |
qsCache |
是否缓存带查询字符串 (Query String) 的 URI。1=启用,0=禁用。 | 1 |
reqCookieCache |
如何处理带 Cookie 的请求。1=如果缓存存在则响应,0=带 Cookie 的请求永不使用缓存响应。 | 1 |
respCookieCache |
是否缓存带有 Set-Cookie 响应头的响应。1=缓存,0=不缓存。 | 1 |
ignoreReqCacheCtrl |
是否忽略请求中的缓存控制头。1=忽略,0=遵守。 | 0 |
ignoreRespCacheCtrl |
是否忽略响应中的缓存控制头。1=忽略,0=遵守。 | 0 |
expireInSeconds |
公共缓存资源的过期时间(秒)。 | 2000 |
maxStaleAge |
当新资源不可用时,允许提供过期(陈旧)缓存的最大时长(秒)。 | 1000 |
enablePrivateCache |
启用或禁用私有缓存。1=启用,0=禁用。 | 1 |
privateExpireInSeconds |
私有缓存资源的过期时间(秒)。 | 1000 |
storagePath |
缓存数据存储目录。以 / 开头为绝对路径,否则相对于 OpenLiteSpeed 根目录。留空则使用根目录下的 cachedata 目录。 |
(留空使用默认路径) |
重要提示:本文配置基于较新的 OpenLiteSpeed 版本。实际操作前,请确认您的具体版本,并建议参考官方最新文档进行微调。虚拟主机级别的 Rewrite 规则拥有最高优先级,是进行细粒度缓存控制的主要方式。
学习了。。。
我去试试。。。