关闭wordpress的cron定时任务
你可能已经知道wordpress的cron定时任务并不是真正的定时任务,只有访问网站是才会执行定时任务,这个是不是有点假。为了确保cron计划任务在应用时运行,强烈建议禁用WordPress cron作业并创建真正的cron作业。
要禁用WordPress cron作业,请将以下行添加到wp-config.php
:
- define('DISABLE_WP_CRON', true);
然后我们手动常见一个定时任务,支持get、curl、php等几种方式触发任务。
我们设置定时任务每15分钟执行一次就可以了
- */15 * * * * wget -q -O - http:
- */15 * * * * curl http:
- */15 * * * * cd /home/user/public_html; php wp-cron.php &>/dev/null
使用虚拟机的小伙伴可以使用使用第三方任务监控,例如360云监控等。
编译并安装rocket-nginx
要使用该脚本,必须将其包含在实际配置中。如果您的WordPress网站尚未配置为使用Nginx运行,您可以检查WordPress文档的Nginx配置。
使用WP-Rocket的所有WordPress网站只需要一个Rocket-Nginx实例。也就是说,您可以根据需要生成任意数量的配置文件。
执行以下命令将模块克隆到你的Nginx安装目录:
- cd /usr/local/nginx
- git clone https:
从2.0版开始,必须生成配置。要生成默认配置,必须重命名禁用的ini文件并运行配置解析器:
- cd rocket-nginx
- cp rocket-nginx.ini.disabled rocket-nginx.ini
- php rocket-parser.php
这将生成default.conf
可包含在所有网站中的配置。如果需要更改默认配置,可以编辑ini文件并在文件底部添加另一个部分。
然后,在配置文件中,必须包含配置。如果您的网站配置已经存在/etc/nginx/sites-available
,则需要更改配置:
- server {
- ...
- # Rocket-Nginx configuration
- include rocket-nginx/default.conf;
- ...
- }
在重新加载配置之前,请确保对其进行测试,以免配置错误造成nginx瘫痪:nginx -t
如果没有报错我们重启nginx即可 service nginx reload
检验配置是否生效
您可能想要检查你的文件是否由Nginx直接提供,而不是调用任何PHP。为此,请打开rocket-nginx.ini
文件并更改调试值:
debug = false
修改为:
debug = true
如果debug设置为0或1,则会出现以下标头:
- X-Rocket-Nginx-Serving-Static:配置是否直接服务于缓存文件(绕过WordPress):是或否。
这会将以下标头添加到您的响应请求中:
- X-Rocket-Nginx-Reason:如果Bypass设置为“No”,那么调用WordPress的原因是什么。如果“是”,则使用的文件是什么(URL)。
- X-Rocket-Nginx-File:如果“是”,则使用的文件是什么(磁盘上的路径)。
无法调用缓存的几种原因
- 发布请求:对Web服务器的请求是POST。这意味着数据已发送,答案可能需要与缓存文件不同(例如,发送评论时)。
- 找到的参数:在请求中找到了一个或多个参数(例如?page = 2)。
- 维护模式:找到.maintenance文件。因此,让我们的WordPress处理应该显示的内容。
- Cookie:找到一个特定的cookie并告知不提供缓存页面(例如,用户已登录,使用密码发布)。
- 特定的移动缓存已激活:如果您在WP-Rocket中激活了特定缓存(一个用于移动缓存,一个用于桌面),HTML文件(页面,帖子等)将无法直接提供,因为Rocket-Nginx无法知道该请求是由移动或桌面设备。
- 文件未缓存:未找到该请求的缓存文件。
总结
Wp-rocket直接将网站的求情方式从将从NGINX→PHP-FPM→PHP→静态文件变成NGINX→静态文件。换句话说,您直接从NGINX提供静态文件,而不是在提供静态文件之前将请求传递给FPM然后传递给PHP,这不仅提高了加速速度,还节省了服务器资源。