基于openlitespeed伪静态规则启用LSCache缓存加速WordPress网站
今天老白博客跟大家分享的WordPress优化教程是:基于openlitespeed伪静态规则启用LSCache缓存加速WordPress网站。在使用下面任何重写规则在 cyberpanel面板中的站点.htaccess 中启用缓存之前,需要在openlitespeed面板里面先打开对应的缓存模块和功能。详细的打开教程和设置教程如下
打开openlitespeed面板的缓存模块:https://www.xcbtmw.com/29582.html
cyberpanel伪静态设置
站点管理——重写规则里面
下面是一个简单的示例,使用重写规则将整个站点的公共缓存设置为 2 分钟:
RewriteEngine On
RewriteCond condition1
RewriteRule .* - [E=cache-control:max-age=120]
请注意,无需指定“公共”,因为这是默认值。此外,缓存时间以秒为单位(即使用 120 秒缓存 2 分钟)
下面是一个使用重写规则禁用缓存的简单示例:
RewriteEngine On
RewriteCond condition4
RewriteRule .* - [E=Cache-Control:no-cache]
下面是使用重写规则设置私有缓存的简单示例:
RewriteEngine On
RewriteCond condition3
RewriteRule .* - [E=cache-control:private]
WordPress配置示例
这段代码必须放在begin WordPress之前
# BEGIN LSCACHE
## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##
RewriteEngine on
CacheLookup on
RewriteRule .* - [E=Cache-Control:no-autoflush]
RewriteRule .litespeed_conf.dat - [F,L]
### marker CACHE RESOURCE start ###
RewriteRule wp-content/.*/[^/]*(responsive|css|js|dynamic|loader|fonts).php - [E=cache-control:max-age=3600]
### marker CACHE RESOURCE end ###
### marker FAVICON start ###
RewriteRule favicon.ico$ - [E=cache-control:max-age=86400]
### marker FAVICON end ###
### marker WEBP start ###
RewriteCond %{HTTP_ACCEPT} "image/webp" [or]
RewriteCond %{HTTP_USER_AGENT} "Page Speed"
RewriteRule .* - [E=Cache-Control:vary=%{ENV:LSCACHE_VARY_VALUE}+webp]
RewriteCond %{HTTP_USER_AGENT} iPhone.*Version/(d{2}).*Safari
RewriteCond %1 >13
RewriteRule .* - [E=Cache-Control:vary=%{ENV:LSCACHE_VARY_VALUE}+webp]
### marker WEBP end ###
### marker DROPQS start ###
CacheKeyModify -qs:fbclid
CacheKeyModify -qs:gclid
CacheKeyModify -qs:utm*
CacheKeyModify -qs:_ga
### marker DROPQS end ###
## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ##
# END LSCACHE
快速简单配置
在WordPress站点启用了litespeed cache插件后,会在这里生产对应的伪静态规则,所以大家直接将自己设置好的规则复制过来用就行(然后删除插件)
缓存查看
在设置好了以后,站点就能看到缓存了
也可以使用lscache在线检测网站:https://check.lscache.io/
缓存清除
计划任务清除
由于我们没有使用插件,所以缓存需要手动清除,以 root 用户或缓存所有者身份运行 crontab 以进行自我管理
crontab -e
虚拟主机缓存根目录通常位于 /usr/local/lsws/cachedata
*/10 * * * * root find /virtualhost/cache/root/directory/ -type f -mmin +8 -delete 2>/dev/null
说明:此 cron 作业每 10 分钟删除一次超过 8 分钟的缓存文件。由于缓存 TTL 设置为 120 秒(2 分钟),因此删除这些文件是安全的,因为它们远远超过了它们的 TTL。
PHP 脚本清除
可以创建一个 PHP 脚本来按 URL 清除缓存
Usage: php $argv[0] -(r|p) domain url [server_ip] [port]
-r method option: Refresh cache (use stale cache while updating cache)
-p method option: Purge cache (delete cache entry)
domain: required parameter for domain name
url: required parameter for url
server_ip: optional parameter, default is 127.0.0.1
server_port: optional parameter, default is 80
参数说明:
- -(r|p):这是一个选项参数,用于指定刷新或清理缓存的方法。您可以选择其中一个选项进行操作。
- r:表示刷新缓存,即在更新缓存时使用旧的缓存。
- p:表示清理缓存,即删除缓存条目。
- domain:这是一个必填参数,用于指定域名。
- url:这是一个必填参数,用于指定要操作的URL。
- server_ip:这是一个可选参数,默认为127.0.0.1,用于指定服务器的IP地址。
- port:这是一个可选参数,默认为80,用于指定服务器的端口。
通过这段代码,您可以在命令行中使用php命令来执行该脚本,并根据需要选择刷新或清理缓存的方法。同时,您需要提供域名和URL作为必填参数,以及可选的服务器IP地址和端口。