今天巡检博客服务器时候发现,日志中有很多wp_cron.php,一直不停地访问,访问来源的ip地址就是本地。
什么是WP-Cron?
在WordPress中有个进程专门用来在指定的时间周期或者将来的某个时间点运行特定的任务,比如定时发布某篇日志。这个功能 WordPress 是通过 WP-Cron 实现的,它会在每次你的博客有人访问或者在后台工作的时候,都会去检查当前是否有任务要执行。
这会有两个问题:
- 增加服务器加载时间,特别是网站访问用户特别多的时候。
- 网站的访问用户很少加载了静态缓存插件,指定的任务可能又不运行。
所以这里建议关掉这个系统自带计划任务,改用手动执行。
如何关闭WP-Cron?
打开wordpress的wp-config.php文件,在合适位置添加如下一行内容。
/* Disable background wp-cron */
define('DISABLE_WP_CRON', true);
代码的意思就是禁用wp-cron
手动执行cron计划任务
linux服务器上可以配合crontab计划任务程序,添加类似如下
00 00 * * * /usr/local/php74/bin/php -f /www/wwwroot/blog.nbqykj.cn/wp-cron.php
根据你自己博客定义作业的情况,定义执行的时间周期,上面是每天凌晨00:00执行,当然具体php程序和程序路径根据自己实际情况修改。