wordpress定時(shí)任務(wù)(wp-cron.php)造成主機(jī)CPU比較高的解決辦法
發(fā)布時(shí)間:2016-09-19 16:51:22 作者:佚名
我要評(píng)論

這篇文章主要介紹了wordpress定時(shí)任務(wù)(wp-cron.php)造成主機(jī)CPU比較高的解決辦法,需要的朋友可以參考下
自從用了阿里云主機(jī),真是沒有省心過。
這兩天網(wǎng)站CPU天天100+的,過一會(huì)就掛了,原來(lái)是wp-cron.php文件造成的。
wordpress的定時(shí)任務(wù)功能我們還是經(jīng)常要用到的,例如wordpress的定時(shí)備份,定時(shí)發(fā)布文章等都需要用到wordpress的定時(shí)任務(wù)功能,而在wordpress中,是靠wp-cron.php來(lái)實(shí)現(xiàn)這些功能的。但是昨天本人網(wǎng)站就出現(xiàn)CPU嚴(yán)重超標(biāo)的情況,導(dǎo)致被主機(jī)商停機(jī),好不容易聯(lián)系上客服,被告知是由于wp-cron.php文件造成的。原來(lái),在使用了wp-super-cache緩存插件的時(shí)候,后臺(tái)會(huì)有很多wp-cron.php的調(diào)用,每一次訪問頁(yè)面都會(huì)調(diào)用。這樣就容易出現(xiàn)cpu超標(biāo)的情況了。
WP-Cron的原理是這樣的:雖然用戶不能通過crond設(shè)置計(jì)劃任務(wù),但網(wǎng)站隨時(shí)可能會(huì)有用戶在點(diǎn)擊,只要在用戶點(diǎn)擊的時(shí)候,判斷當(dāng)時(shí)是否有需要運(yùn)行的后臺(tái)任務(wù),如果則在后臺(tái)運(yùn)行該任務(wù),就可以實(shí)現(xiàn)類似crond的效果。雖然這么好用,不過占用這么高的系統(tǒng)資源我就不得不禁用它了。
禁用WP-Cron很簡(jiǎn)單,編輯wp-config.php,加入一下一行:
define('DISABLE_WP_CRON', true);
當(dāng)然了,如果你的主機(jī)可以設(shè)定crontab,你可以在你后臺(tái)系統(tǒng)的crontab文件里,增加下面的代碼:
*/15 * * * * YOUR_USER /usr/bin/wget -q --post-data '' http://YOUR_SITE/wp-cron.php?doing_wp_cron -O /dev/null
上面配置指示,每15分鐘,調(diào)用wget命令訪問站點(diǎn)的wp-cron.php文件,post-data參數(shù)指示wget用POST方法,而不是GET方法,這樣可以避免WP-Super-Cache這樣的緩存插件影響后臺(tái)任務(wù)的正確執(zhí)行,但post-data傳輸?shù)臄?shù)據(jù)必須是空內(nèi)容,否則wp-cron.php會(huì)拒絕執(zhí)行。
或者系統(tǒng)的crontab中添加
0,30 * * * * php -q /path_to_your_website/public_html/wp-cron.php
這兩天網(wǎng)站CPU天天100+的,過一會(huì)就掛了,原來(lái)是wp-cron.php文件造成的。
wordpress的定時(shí)任務(wù)功能我們還是經(jīng)常要用到的,例如wordpress的定時(shí)備份,定時(shí)發(fā)布文章等都需要用到wordpress的定時(shí)任務(wù)功能,而在wordpress中,是靠wp-cron.php來(lái)實(shí)現(xiàn)這些功能的。但是昨天本人網(wǎng)站就出現(xiàn)CPU嚴(yán)重超標(biāo)的情況,導(dǎo)致被主機(jī)商停機(jī),好不容易聯(lián)系上客服,被告知是由于wp-cron.php文件造成的。原來(lái),在使用了wp-super-cache緩存插件的時(shí)候,后臺(tái)會(huì)有很多wp-cron.php的調(diào)用,每一次訪問頁(yè)面都會(huì)調(diào)用。這樣就容易出現(xiàn)cpu超標(biāo)的情況了。
WP-Cron的原理是這樣的:雖然用戶不能通過crond設(shè)置計(jì)劃任務(wù),但網(wǎng)站隨時(shí)可能會(huì)有用戶在點(diǎn)擊,只要在用戶點(diǎn)擊的時(shí)候,判斷當(dāng)時(shí)是否有需要運(yùn)行的后臺(tái)任務(wù),如果則在后臺(tái)運(yùn)行該任務(wù),就可以實(shí)現(xiàn)類似crond的效果。雖然這么好用,不過占用這么高的系統(tǒng)資源我就不得不禁用它了。
禁用WP-Cron很簡(jiǎn)單,編輯wp-config.php,加入一下一行:
復(fù)制代碼
代碼如下:define('DISABLE_WP_CRON', true);
當(dāng)然了,如果你的主機(jī)可以設(shè)定crontab,你可以在你后臺(tái)系統(tǒng)的crontab文件里,增加下面的代碼:
復(fù)制代碼
代碼如下:*/15 * * * * YOUR_USER /usr/bin/wget -q --post-data '' http://YOUR_SITE/wp-cron.php?doing_wp_cron -O /dev/null
上面配置指示,每15分鐘,調(diào)用wget命令訪問站點(diǎn)的wp-cron.php文件,post-data參數(shù)指示wget用POST方法,而不是GET方法,這樣可以避免WP-Super-Cache這樣的緩存插件影響后臺(tái)任務(wù)的正確執(zhí)行,但post-data傳輸?shù)臄?shù)據(jù)必須是空內(nèi)容,否則wp-cron.php會(huì)拒絕執(zhí)行。
或者系統(tǒng)的crontab中添加
復(fù)制代碼
代碼如下:0,30 * * * * php -q /path_to_your_website/public_html/wp-cron.php
相關(guān)文章
CyberPanel安裝WordPress并配置偽靜態(tài)規(guī)則
下面教你如何在 CyberPanel安裝WordPress以及配置偽靜態(tài),需要的朋友可以參考下2023-12-27- 這篇文章主要介紹了wordpress無(wú)法安裝更新主題插件的解決辦法,需要的朋友可以參考下2020-12-27
WordPress必備數(shù)據(jù)庫(kù)SQL查詢語(yǔ)句整理
發(fā)現(xiàn)幾條比較實(shí)用的,適合 WordPress 實(shí)用的SQL語(yǔ)句。于是就趕緊收集分享出來(lái)了,需要的朋友可以參考下2017-09-23wordpress在安裝使用中出現(xiàn)404、403、500及502問題的分析與解決方法
wordpress是很多新手站長(zhǎng)搭建個(gè)人博客最喜愛的程序,但是最近在使用WordPress的時(shí)候遇到了一些問題,所以想著將遇到問題總結(jié)分享出來(lái),下面這篇文章主要給大家介紹了關(guān)于wo2017-08-11WordPress取消英文標(biāo)點(diǎn)符號(hào)自動(dòng)替換中文標(biāo)點(diǎn)符號(hào)的優(yōu)雅方法
這篇文章主要介紹了WordPress取消英文標(biāo)點(diǎn)符號(hào)自動(dòng)替換中文標(biāo)點(diǎn)符號(hào)的優(yōu)雅方法,需要的朋友可以參考下2017-04-04- 這篇文章主要給大家介紹了wordpress自定義上傳文件類型的方法,如WordPress默認(rèn)允許上傳 .exe 后綴名的可運(yùn)行文件,那么我們?cè)趺唇褂脩粼赪ordPress后臺(tái)發(fā)表文章時(shí)上傳 .e2016-12-19
- 大家可能發(fā)現(xiàn)了當(dāng)實(shí)現(xiàn)了前端用戶中心,后臺(tái)控制面板就失去了作用,那么限制其他用戶進(jìn)入后臺(tái)控制面板就很有必要了!那么我們要怎么做呢?通過下面這篇文章分享的方法后,只2016-12-19
WordPress實(shí)現(xiàn)回復(fù)文章評(píng)論后發(fā)送郵件通知的功能
這篇文章主要介紹了WordPress實(shí)現(xiàn)回復(fù)文章評(píng)論后發(fā)送郵件通知的功能,涉及wordpress針對(duì)評(píng)論與郵件的相關(guān)操作技巧,需要的朋友可以參考下2016-10-11WordPress使用自定義文章類型實(shí)現(xiàn)任意模板的方法
這篇文章主要介紹了WordPress使用自定義文章類型實(shí)現(xiàn)任意模板的方法,可通過自定義文章類型來(lái)實(shí)現(xiàn)任意模版的使用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-10-11WordPress后臺(tái)地址被改導(dǎo)致無(wú)法登陸后臺(tái)的簡(jiǎn)單解決方法
這篇文章主要介紹了WordPress后臺(tái)地址被改導(dǎo)致無(wú)法登陸后臺(tái)的簡(jiǎn)單解決方法,簡(jiǎn)單分析了后臺(tái)無(wú)法登陸的原因與相應(yīng)的解決方法,涉及針對(duì)wordpress配置項(xiàng)的簡(jiǎn)單修改,需要的朋友2016-10-11