WORDPRESS网站500、502、503、504错误的4大罪魁祸首

Hainbat operatzen ditutWordPressWebguneak 800 bisita baino gehiago galdu zituen egun bakarrean 502 errore baten ondorioz. Hiru egunez ikertu ondoren, erruduna backend-eko ezarpen ezkutu bat zela aurkitu zen.

WordPress webgune bat duen edonork badaki gauzarik frustragarriena ez dela trafiko falta, baizik eta webgunea bat-batean eskuraezina bihurtzen denean, 500, 502, 503 eta 504 bezalako errore nahasiak pantailan agertzen direnean.

Zerbitzaria huts egin zuela pentsatu eta hosting hornitzailearekin eztabaidatzera presaka joan zinen, zerbitzaria guztiz normal zegoela egiaztatu ondoren konturatzeko.

Plugin-gatazka bat dela pentsa dezakezu, beraz, desgaitu eta banan-banan konpontzen dituzu, egun gehiena horretan emanez, baina errorea errepikatzen da.

Egia esan, ez du zertan hain konplikatua izan. Tranpa ugarietan erori ondoren, aurkitu dut WP webguneko 5xx erroreen % 80k ezin dituztela 4 errudun hauetatik ihes egin. Bakoitza ondo ezkutatuta dago, baina erraz hondatu dezake zure webgunea.

Orain, nire esperientzia praktikoa erabiliko dut akats hauek argi eta garbi azaltzeko, hasiberriek ere jarraitu eta arazoak konpondu ahal izan ditzaten, eta ez zarete inoiz berriro akatsen menpe geratu beharrik izango.

WORDPRESS网站500、502、503、504错误的4大罪魁祸首

1. erruduna: WP-CRON ez zen desgaitu, funtsean "energia-hustubide ezkutu" bat instalatuz webgunean.

Jende askok ez daki WordPress-ek WP-CRON izeneko zeregin programatuen funtzio bat duela barneratuta, lehenespenez gaituta dagoena.

Bere funtzioak oso praktikoak dirudite, hala nola artikuluak argitaratzea programatzea, babeskopia automatikoak egitea, pluginen eguneraketak egiaztatzea eta baita kideentzako abisuak bidaltzea ere.

Baina ba al zenekien itxuraz erabilgarria den funtzio hau dela zerbitzariak kraskatzen eta 5xx erroreak eragiten dituen errudun nagusia?

WP-CRON zerbitzariaren Cron natiboarengandik desberdina da. Ez da proaktiboki exekutatzen, baizik eta erabiltzaileen bisiten bidez aktibatzen da. Erabiltzaile batek zure webgunea bisitatzen duen bakoitzean, /wp-cron.php fitxategia exekutatuko du isilpean, egiteko programatutako zereginik dagoen egiaztatzeko.

Horrek esan nahi du zure webgunera sartzen den bisitari bakoitzak "zama gehigarria" gehitzen duela, eta zenbat eta bisitari gehiago izan, orduan eta zama astunagoa izango da.

Egunean mila bisitari baino gehiago jasotzen zituen webgune bat nuen. WP-CRON desgaituta ez zegoenean, zerbitzariaren CPU erabilera %80tik gorakoa izaten zen askotan, eta egunero gutxienez bi 503 errore izaten ziren, bisitariak errore orrialde batera birbideratzen zirelarik bertan klik egiten zutenean.

Are okerragoa da programatutako zereginik ezarri ez arren, WP-CRON automatikoki exekutatuko dela, zerbitzariaren baliabideak behin eta berriz eskatuz. Denborarekin, zerbitzariak ezingo du karga kudeatu eta errore bat jakinaraziko du.

GitHub-en dokumentazioak argi eta garbi dio: "HTTP erantzun kode ustekabekoa: 500 edo handiagoa, honek esan nahi du zure zerbitzarian errore bat gertatu dela eta cron sortzailea exekutatzea eragozten duela". Horrek esan nahi du WP-CRONek behar bezala funtzionatzen ez duenean, 500 edo handiagoa den zerbitzari errore bat eragingo duela.

Ikuspegi zuzena WP-CRON lehenetsia desgaitzea eta zerbitzariaren jatorrizko programatutako zereginak erabiltzea da. Horrek ziurtatuko du programatutako zereginak normal exekutatuko direla zerbitzariaren karga murriztuz.

Zure zerbitzariak curl komandoa onartzen badu, zuzenean gehi dezakezu honelako zeregin programatu bat (aldatu zure webgunearen domeinuaren arabera):

*/15 * * * * curl https://www. 你的域名/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Komando honek WP-CRON ataza bat exekutatzen du 15 minuturo, webgune txiki eta ertain gehienentzat egokia; zure webguneak maiz programatutako atazak baditu, hau ere erabil dezakezu:

*/5 * * * * curl https://www. 你的域名/wp-cron.php?doing_wp_cron > /dev/null 2>&1

WP-CRON desgaitu eta zerbitzarian programatutako zereginak konfiguratu ondoren, zerbitzariaren CPU erabilera %30etik behera jaitsi zen, eta ez zen 503 errorerik egon hilabete osoan zehar. Bisitarien atxikipen-tasa ere %18 handitu zen.

Bigarren erruduna: Plugin-a desinstalatu ondoren errepikatutako CRON programatutako zereginek eta hondar diren fitxategiek funtsean "zaborra" uzten dute webgunean.

WP-CRON arazoa konpontzeak ez du esan nahi lasai egon zaitezkeenik; webguneen jabe askok ahaztu egiten duten tranpa ezkutu bat dago.

Horrek esan nahi du CRON programatutako zereginak behin eta berriz exekutatzen ari direla, edo gainerako programatutako zereginak plugina desinstalatu ondoren isilpean exekutatzen ari direla oraindik.

Inoiz gertatu al zaizu hau: babeskopia plugin bat desinstalatu duzu, baina zerbitzariak egunero automatikoki egiten dituela babeskopiak, edo babeskopia akatsen mezua erakusten duela ikusi duzu, eta horrek azkenean 500 errorea eragiten du?

Pluginaren programatutako zeregin soberakinek eragiten dute hau.

Adibidez, plugin batek egunero programatutako zeregin bat sortzen badu, WordPress-ek zeregin hori exekutatzen jarraituko du plugina desinstalatu ondoren ere. Programatutako zeregin horiek ez dute zentzurik. Zeregin hondar zentzugabe hauek zerbitzariaren baliabideak etengabe kontsumituko dituzte eta azkenean akatsak eragingo dituzte.

Are okerrago, plugin batzuek automatikoki sortzen dituzte errepikatzen diren hainbat zeregin programatu. Adibidez, "eguneroko eguneratzeen egiaztapena" zeregin bat bost aldiz sor daiteke, eta bakoitza programazio baten arabera exekutatuko litzateke, hau da, zerbitzariak bost zeregin berdin aldi berean prozesatu beharko lituzke.

Bat instalatu nuen lehenago.SEOPlugina desinstalatu ondoren, ez nuen ohartu, eta hilabete erdi geroago, webguneak maiz aurkitzen zituen 504 denbora-muga erroreak. Zerbitzariaren erregistroak egiaztatu ondoren bakarrik konturatu nintzen pluginak egunero programatutako hiru zeregin atzean utzi zituela, bakoitza 12 segundo arteko exekuzio-denborarekin. Hirurak aldi berean exekutatzeak zuzenean eragiten zuen zerbitzariaren erantzun-denbora-muga.

Are beldurgarriagoa da denboraz errepikatzen diren zeregin hauek...WordPress backend-aIkusezina da; ez duzu ideiarik isilpean dabilenik.

Hala ere, badago irtenbide bat: WP-Crontrol pluginak primeran kudeatu dezake. WordPress-ek gomendatutako Cron zereginen kudeaketa tresna ofiziala da, eta programatutako zeregin guztiak zuzenean backend-ean ikusteko, editatzeko eta ezabatzeko aukera ematen dizu.

WordPress pluginaren deskribapenaren arabera, WP-Crontrol-ek "programatutako cron gertaera guztiak ikusi, editatu, ezabatu, pausatu, berrabiarazi eta berehala cron gertaerak exekutatu" ditzake. Beste era batera esanda, programatutako zeregin guztiak ikusi eta zeregin bikoiztuak edo baliogabeak ezabatu ditzake. Oso erraza da erabiltzeko eta ez du kode lerro bakar bat ere idatzi beharrik.

Plugin hau arazoak konpontzeko erabili ondoren, 8 zeregin bikoiztu eta pluginaren 5 zeregin hondar ezabatu ditut, eta webgunearen erantzun-abiadura % 40 hobetu da zuzenean. 504 errorea ez da inoiz berriro gertatu.

Kontuz: zereginak ezabatzean, ziurtatu arretaz egiaztatzen dituzula eta saihestu nahi gabe ezabatzea WordPress-eko programatutako zeregin nagusiak, hala nola "wp_version_check" (bertsio-egiaztapena). Ustekabean ezabatzeak webgunea behar bezala eguneratzea eragotzi dezake.

WP-Crontrol pluginak zeregin bikoiztuak edo baliogabeak eskuz ezaba ditzakeen arren, eskuzko esku-hartzea behar du, eta hori ez da aproposa...

Hala ere, prozesu hau automatiza dezakegu WordrPress kodea erabiliz. Ikusi beheko tutoriala xehetasunetarako. ▼

3. erruduna: WordPress-eko datu-base erredundanteak

WordPress-en, honako hau agertzen da 500 Errorea Arrazoietako bat datu-baseen erredundantzia da, batez ere plugin batzuek sortutako datu-taulen edukiera handia.

WP optimizazio plugina erabiltzean, datu-taula batzuk tamaina anormalean handiak zirela ikusi nuen, horien artean... Wordfence konfigurazio taula (wfconfig) Bereziki nabarmena.

Arazoen azterketa

  • wfconfig-ek datu-taulen erredundantzia larria du.Behin garbitu zen lehenago, baina oso azkar agertu zen berriro.
  • Biltegiratze-motorraren arazoak lehenetsiarekinWordfence konfigurazio taulak InnoDB motor lehenetsia erabiltzen du, eta honek ehunka MB datu erredundante metatuko ditu denboran zehar.
  • Errendimenduan duen eraginaDatu-taulek ehunka MB-ko tamaina har dezakete erraz, webgunearen kargatze-abiadura jaitsi eta 500 errore ere eraginez.

Irtenbidea

Hau Wordfence-k konfiguratutako datu-taulek Inno motor lehenetsia erabiltzen dutelako da. Denborarekin, hau azkar pilatuko da ehunka megabyte datu erredundanteetan, webgunearen kargatzeko abiaduran eragina izango duelarik.

HestiaCPMariaDB-ren biltegiratze-motor lehenetsia MyISAM-era aldatzeko argibideak lortzeko, jo ezazu tutorial honetara:

Laugarren erruduna: plugin/gaien bertsio berrituen ondoren gertatzen diren akatsak webgunean "kirurgia ez-ohikoa" egitea bezalakoak dira.

Webgune askok ohitura dute plugin edo gaien eguneratze-gonbitak ikusten dituztenean "eguneratu" botoian klik egiteko, eguneratzeek ahultasunak konponduko dituztela eta errendimendua hobetuko dutela sinetsita.

Baina egia guztiz kontrakoa da; 5xx errore asko pluginak edo gaiak eguneratzeagatik gertatzen dira.

Arazo hau lehenago ere izan dut. Joan den hilean, nire webgunea orrialdeak eraikitzeko plugin ezagun batekin eguneratu nuen. Eguneratu botoian klik egin ondoren, orria hutsik geratu zen, eta freskatu ondoren, 500 Barne Zerbitzariaren Errore bat agertu zen, backend-era sartzea ezinezkoa bihurtuz.

Geroago jakin nuen pluginaren bertsio berria nire webgunearen PHP bertsioarekin bateraezina zela. Plugina eguneratu ondoren, kodea ezin izan zen behar bezala exekutatu, eta horrek zerbitzariak zuzenean errore bat jakinarazi zuen.

Plugin edo gaien eguneraketen ondoren gertatzen diren erroreak WordPress 500 erroreen kausa ohikoa dira, batez ere pluginaren bertsio berriak kode ahultasunak dituenean edo webguneko beste plugin edo gaiekin gatazkak dituenean.

Beste egoera bat da gaia eguneratu ondoren, aurreko kode pertsonalizatua gainidatziko dela, webgunearen diseinua nahaspilatuko dela eta funtzioak huts egingo direla eraginez, eta horrek, aldi berean, 502 eta 503 erroreak eragingo ditu.

egin bat eginElektrizitatea hornitzaileErabiltzaile batzuentzat, WooCommerce plugina eguneratu ondoren, webguneek 502 erroreak izan zituzten, eskaerak egitea ezinezko bihurtuz. Horren ondorioz, 2000 salmenta baino gehiago galdu ziren 3 ordutan, eta arratsalde osoa behar izan zen arazoa konpontzeko.

Izan ere, egoera honetarako irtenbiderik zuzenena eta eraginkorrena behar bezala funtzionatzen zuen aurreko bertsio batera itzultzea da.

Jende askok ez daki nola itzuli, baina ez duzu fitxategiak eskuz deskargatu edo igo beharrik; WP Rollback pluginak errazten du.

WordPress-en deskribapenaren arabera, WP Rollback pluginak "edozein gai edo plugin azkar eta erraz leheneratu dezake wordpress.org-etik aurreko (edo berriago) edozein bertsiora, eskuzko arazorik gabe". Beste era batera esanda, pluginak edo gaiak aurreko edozein bertsiora leheneratu ditzake klik bakarrarekin, eragiketa konplikaturik gabe, hasiberrientzat erabiltzeko erraza izan dadin.

Nire azken pluginaren eguneraketak huts egin ondoren, WP Rollback erabili nuen aurreko bertsiora klik bakarrarekin itzultzeko. Webgunea normaltasunera itzuli zen 30 segundotan, eta ez zen daturik galdu.

Hona hemen iradokizun bat: pluginak edo gaiak eguneratu aurretik, egin beti zure webgunearen babeskopia. Hobe da lehenik proba-ingurune batean probatzea, webgune ofizialean eguneratu aurretik arazorik ez dagoela ziurtatzeko, akatsak ekiditeko.

Ondorioa: Menperatu 3 puntu hauek WP webguneko 5xx erroreei erabat agur esateko.

WordPress webgune bat exekutatzean, 500, 502, 503 eta 504 erroreak "oztopoak" bezalakoak dira, itxuraz gogaikarriak, baina erroko kausa nahiko argia da: ez da zerbitzaria akastuna dagoenik, ezta webgunearen programarekin arazo handirik dagoenik ere, baizik eta hiru xehetasun ahaztu ditugula: WP-CRON, programatutako zeregin soberakinak eta plugin/gaien eguneraketak.

WordPress webgune baten jabea naizen aldetik, hasieran errorez gainezka nengoenetik 5xx errore guztiak azkar konpondu eta konpontzeko gai izan arte, ondorio nagusia da webgune egonkorraren funtzionamendua ez dela "zaldia ihes egin ondoren ukuiluko atea ixtean" oinarritzen, baizik eta "hobe da prebenitzea sendatzea baino".

Webgune askoren jabeek uste dute xehetasun txiki hauek ez direla garrantzitsuak, eta webguneak huts egiten duenean, trafikoa galtzen duenean eta diru-sarreren galerak jasaten dituenean bakarrik damutzen dira aldez aurretik ez egiaztatzeaz.

Garrantzitsua da ulertzea webgune batentzat "egonkortasuna" dela lehiakortasun abantaila nagusia. 5xx errore bakar batek bisitarien % 10 galtzea eragin dezake, eta errore anitzek bilaketa-motorren sailkapenean beherakada ere eragin dezakete, aurreko SEO ahalegin guztiak alferrik galduz.

Esaerak dioen bezala, "Milaka miliako dike bat inurri-zulo batek hautsi dezake". WP webgunearen 5xx erroreak ez dira bat-batean agertzen, arazo txikien metaketaren ondorio baizik: desgaitu ezin den WP-CRON, programatutako zeregin hondarrak eta eguneratze eragiketa bizkorrak. Itxuraz hutsalak diren "inurri-zulo" hauek webgunearen "dikea" osoa suntsituko dute azkenean.

Benetan eraginkorrak diren eragiketek arazoak hasieran bertan konpontzea esan nahi dute.

  1. Desgaitu WP-CRON lehenetsia eta ordezkatu zerbitzarian oinarritutako programatutako zeregin batekin;
  2. Erabili aldizka WP-Crontrol errepikakorrak diren eta geratzen diren programatutako zereginak garbitzeko;
  3. Ziurtatu datuen babeskopia egiten duzula pluginak edo gaiak eguneratu aurretik, eta erroreak gertatzen badira, berehala itzuli lehenera.

Hiru eragiketa hauek ez dute teknologia konplexurik edo garatzaile garestirik behar, eta hasiberriek ere erraz menperatu ditzakete, baina zure webgunea 5xx erroreetatik urrun mantendu eta funtzionamendu egonkorra mantendu dezakete.

Zure webgunearen karga egonkor bakoitza eta bisitari bakoitzaren egonaldia denborarekin metatzen duzun aktibo baliotsua da.

Hemendik aurrera, identifikatu hiru errudun hauek eta egin eguneroko mantentze-lanak zure WordPress webguneak zure lan gogorra jasan ez ezik, trafikoa eta diru-sarrerak etengabe handitu ere ahal izateko.

5xx erroreek arazoak badituzte, saiatu artikulu honetako urratsak jarraitzen arazoak konpontzeko. Uste dut laster arazo hauek kendu, zure webgunea egonkor funtzionarazi eta epe luzerako hazkundea lortu ahal izango duzula.

发表 评论

Zure helbide elektronikoa ez da argitaratuko. 必填 项 已 用 * 标注

Igo korrituko