禁用WP Cron并在服务器端添加crontab执行
WordPress系统中有个WP Cron定时执行功能,它是通过wp-cron.php这个文件来实现的。其工作原理是每次你的博客有人访问或者在后台工作的时候,都会去检查当前是否有任务要执行。实际应用中,WP Cron会引起以下两个主要问题:
1、增加服务器CPU负载,特别是网站访问用户特别多的时候。这也就是为什么很多主机商说wordpress网站占CPU的原因。
2、当网站的访问用户很少或者加载了静态缓存插件,指定的任务又不能按时执行。特别是当你启用了定时发布功能时,如果没什么人访问你的网站,就会造成无法按时启用WP Cron来自动执行。
为了协调解决这两个问题,就需要先禁用WordPress按常规执行wp cron,然后通过服务器端添加crontab来定时执行wp-cron.php这个文件。这样就既解决了wp cron执行过多导致服务器负载升高的问题,也解决了访问量小而不按时执行的问题。
禁用WP Cron方法:
define('DISABLE_WP_CRON', true);
在服务器端添加crontab方法:
*/1 * * * * /usr/bin/php -f /home/wwwroot/domain.com/wp-cron.php >/dev/null 2>&1
这行crontab代码的意思是每隔1分钟自动执行domain.com下的wp-cron.php文件一次,你可以根据自己的wp-cron.php实际位置修改以上代码。/dev/null 2>&1的意思是将标准输出和错误输出均定向到回收站,这样就不会在服务器上产生大量的垃圾文件了。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END