• 售前

  • 售后

热门帖子
入门百科

wordpress定时使命(wp-cron.php)造成主机CPU比力高的解决办法

[复制链接]
永远爱你冰塘 显示全部楼层 发表于 2021-8-15 20:09:02 |阅读模式 打印 上一主题 下一主题
自从用了阿里云主机,真是没有省心过。

这两天网站CPU天天100+的,过一会就挂了,原来是wp-cron.php文件造成的。

wordpress的定时使命功能我们还是常常要用到的,比方wordpress的定时备份,定时发布文章等都需要用到wordpress的定时使命功能,而在wordpress中,是靠wp-cron.php来实现这些功能的。但是昨天本人网站就出现CPU严重超标的环境,导致被主机商停机,好不容易联系上客服,被告知是由于wp-cron.php文件造成的。原来,在使用了wp-super-cache缓存插件的时间,配景会有很多wp-cron.php的调用,每一次访问页面都会调用。这样就容易出现cpu超标的环境了。
WP-Cron的原理是这样的:固然用户不能通过crond设置计划使命,但网站随时可能会有效户在点击,只要在用户点击的时间,判断当时是否有需要运行的配景使命,假如则在配景运行该使命,就可以实现类似crond的效果。固然这么好用,不外占用这么高的体系资源我就不得不禁用它了。

禁用WP-Cron很简单,编辑wp-config.php,参加一下一行:


复制代码代码如下:
define('DISABLE_WP_CRON', true);


固然了,假如你的主机可以设定crontab,你可以在你配景体系的crontab文件里,增长下面的代码:


复制代码代码如下:
*/15 * * * * YOUR_USER /usr/bin/wget -q --post-data '' http://YOUR_SITE/wp-cron.php?doing_wp_cron -O /dev/null


上面设置指示,每15分钟,调用wget命令访问站点的wp-cron.php文件,post-data参数指示wget用POST方法,而不是GET方法,这样可以避免WP-Super-Cache这样的缓存插件影响配景使命的准确实行,但post-data传输的数据必须是空内容,否则wp-cron.php会拒绝实行。

大概体系的crontab中添加


复制代码代码如下:
0,30 * * * * php -q /path_to_your_website/public_html/wp-cron.php

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作