wolfco / craft-cache-cow
Craft CMS 应用程序的缓存预热服务
Requires
- php: >=8.0
- caseyamcl/guzzle_retry_middleware: ^2.10.0
- craftcms/cms: ^4.0.0 || ^5.0.0
- vipnytt/sitemapparser: ^1.3
Requires (Dev)
- craftcms/ecs: dev-main
- roave/security-advisories: dev-latest
README
此插件在Craft CMS控制面板的“实用工具 > Cache Cow”下添加了一个“预热缓存”按钮。点击它即可开始对所有选定的站点进行缓存预热过程。
默认情况下,Cache Cow 会查找位于 {webroot}/sitemap.xml
的您的站点地图,但您可以在插件设置中设置自己的站点地图路径。或者,根据您的需要,插件可以从环境变量中读取此值。支持多个站点。您可以在插件设置中输入额外的URL以进行缓存预热(设置 > 插件 > Cache Cow > 设置)。
如果没有找到用于预热的URL(即配置路径中不存在站点地图,且未输入额外的URL),“预热缓存”按钮将禁用,并显示错误。
您还可以通过控制台命令进行缓存预热
/path/to/my/craft cache-cow/cache/warm
默认情况下,它会从所有配置的站点地图中获取所有URL,以及任何在设置中添加的额外URL。您可以通过传递逗号分隔的列表来针对一个或几个站点句柄
/path/to/my/craft cache-cow/cache/warm myCraftSite,myOtherCraftSite
使用句柄 custom
来针对在设置中添加的额外URL
要求
此插件需要Craft CMS 4.0.0或更高版本,以及PHP 8.2或更高版本。
安装
您可以从插件商店或使用Composer安装此插件。
从插件商店
转到项目控制面板中的插件商店,搜索“Cache Cow”,然后按“安装”。
使用Composer
打开终端并运行以下命令
# go to the project directory cd /path/to/my-project.test # tell Composer to load the plugin composer require wolfco/craft-cache-cow # tell Craft to install the plugin /path/to/my/craft plugin/install cache-cow
使用Cron Job(Linux/macOS)计划运行
Cache Cow 插件提供了一个命令来预热缓存:./craft cache-cow/cache/warm。您可以将此命令设置为定期使用cron job运行。
要定期自动运行缓存预热命令,请按照以下步骤操作
步骤 1: 打开Crontab编辑器
打开终端并编辑运行您的Web服务器的用户(通常是www-data
或您的服务器上的特定用户)的crontab。
crontab -e
步骤 2: 添加Cron Job
将以下行添加到crontab文件以运行缓存预热命令。例如,要每小时运行一次命令
0 * * * * /path/to/my/craft cache-cow/cache/warm >/dev/null 2>&1
- 将 /path/to/your/craft/installation/ 替换为您Craft CMS项目的实际路径。
- 大于符号/dev/null 2>&1 确保除非有错误,否则不记录任何输出。
每日午夜执行的示例Cron Job 要每天午夜运行缓存预热,请使用此cron job
0 0 * * * /path/to/my/craft cache-cow/cache/warm >/dev/null 2>&1
注意
在Windows环境中,步骤可能会有所不同