Tubaistean tric aig Apache2 le HestiaCP? Stiùireadh sgrùdaidh is fuasgladh-cheistean fèin-ghluasadach Monit (le rèiteachadh iomlan)

Tubaistean tric aig Apache2 no fàilligidhean ath-thòiseachadh fèin-ghluasadach Monit ann an àrainneachdan HestiaCP ? Tha an t-artaigil seo a’ toirt seachad stiùireadh practaigeach airson a bhith a’ seachnadh ribeachan cumanta nuair a bhios tu a’ cumail sùil air Apache2 le Monit, a’ dèanamh mion-sgrùdadh air cùisean cumanta leithid mì-thaobhadh slighe PID agus bacadh cead, agus a’ tabhann faidhlichean rèiteachaidh fèin-ghluasaid Monit aig ìre riochdachaidh. Maighstirich dòighean cumail suas frithealaiche àrd-ruigsinneachd a-nis agus faigh ath-bheothachadh fèin-ghluasadach dàrna ìre bho fhàilligidhean!

Na cnapan-starra a thachair orm fhad ’s a bha mi a’ cleachdadh Monit gus sùil a chumail air Apache2

Dihaoine sa chaidh, thug am frithealaiche rabhadh Monit dhomh ann am meadhan na h-oidhche.

Thug mi sùil air a’ phannal ann an geilt, agus anns a’ cholbh inbhe apache2, bha Timeout dearg ann.

Tubaistean tric aig Apache2 le HestiaCP? Stiùireadh sgrùdaidh is fuasgladh-cheistean fèin-ghluasadach Monit (le rèiteachadh iomlan)

Smaoinich mi air airson greis. Chuir mi dìreach sgrùdadh Monit ris an fhrithealaiche tron ​​latha, agus rinn mi lethbhreac agus pasg den rèiteachadh bho oideachadh air-loidhne. Cha bu chòir duilgheadasan sam bith a bhith ann, ceart?

An ath mhadainn, thàinig crìoch air a’ chlàr-ama a-rithist. Às dèidh an treas uair, leig Monitor seachad e, agus sheall am pannal “Gun sgrùdadh”.

Mi...

Tha mi ag aideachadh, cha do ghabh mi dha-rìribh e an toiseach. Sgrùdadh Apache2? Gheibh thu tòrr rèiteachaidhean teamplaidean air-loidhne, dìreach dèan lethbhreac is pasg. Ach chuir am pròiseas pasg sin fearg orm.

Bun-adhbhar a’ chòmhstri eadar ailtireachd bunaiteach HestiaCP agus puirt Monit

Leig dhomh an toiseach an rèiteachadh a dh’adhbhraich uiread trioblaid dhomh a shealltainn dhut, gus an urrainn dhut faicinn a bheil e dìreach mar an ceudna ris an dreach a chunnaic thu.

check process apache2 with pidfile /var/run/apache2/apache2.pid
    start program = "/usr/sbin/service apache2 start"
    stop program  = "/usr/sbin/service apache2 stop"
    if failed host 127.0.0.1 port 80 protocol http then restart
    if 5 restarts within 5 cycles then timeout

Tha e coltach gu bheil e ceart gu leòr, nach eil? Bidh e a’ sgrùdadh port 80, agus ma thuiteas e, bidh e ag ath-thòiseachadh. Ma thuiteas e fhathast an dèidh 5 ath-thòiseachadh, bidh an ùine aige a’ dol seachad.

Is e an duilgheadas nach eil an Apache2 agad a’ ruith air port 80 idir.

Is e seo cnap-starra aig HestiaCP, agus is e seo bun-adhbhar mòran dhaoine a’ tuiteam ann. Is e ailtireachd bunaiteach HestiaCP progsaidh cùil de Nginx + Apache2, le Nginx a’ gabhail thairis puirt 80 agus 443 air a’ bheulaibh, agus Apache2 a’ ruith air a’ phort ionadail 8081 air a’ chùl.

Ma dh’iarras tu air Monit sgrùdadh a dhèanamh air beòthalachd Apache2 air port 80, tha e coltach ri bhith a’ dol gu McDonald’s a lorg KFC. Bidh an frithealaiche gad choimhead gu bàn, agus bidh sibhse a’ coimhead air a chèile. Mu dheireadh, bidh Monit a’ dearbhadh gu bheil thu sìos agus a’ tòiseachadh air ath-thòiseachadh gu fiadhaich.

Às dèidh ath-thòiseachadh, tha am port fhathast 8081. Bidh Monit an uairsin a’ feuchainn ri port 80 a sgrùdadh, ach fàilligidh e cuideachd, agus mar sin bidh e ag ath-thòiseachadh a-rithist. Bidh an cearcall seo ag ath-aithris gus an co-dhùin Monit nach eil e comasach a chàradh agus gun tig crìoch air an ùine.

Nuair a thachair mi ris an seo an toiseach, bha mi dha-rìribh air mo shàrachadh. Bha naoi a-mach à deich clasaichean-teagaisg a lorg mi air-loidhne a’ cleachdadh port 80. Ma lean thu iad, cha robh an duilgheadas leatsa, ach leis an stòr fiosrachaidh fhèin.

Tubaistean tric aig Apache2 le HestiaCP? Stiùireadh sgrùdaidh is fuasgladh-cheistean fèin-ghluasadach Monit (le rèiteachadh iomlan)

Dh’adhbhraich faidhle Apache2 PID coirbte gun do chomharraich Monit am pròiseas gun a bhith ann idir.

Às dèidh dhuinn am port atharrachadh bho 80 gu 8081, bu chòir dha Monit a bhith comasach air a lorg ann an teòiridh, ceart?

Ach, gu dearbh, bidh e fhathast ag aithris “ Dh’fhàillig an cur an gnìomh ”.

Às dèidh dhomh a bhith a’ strì airson ùine mhòr, fhuair mi a-mach mu dheireadh gu robh an adhbhar sìmplidh: bha am faidhle PID truaillte.

Smaoinich air, bha Monit ag ath-thòiseachadh Apache2 gu fiadhaich, gach turas ga mharbhadh agus ga ath-thòiseachadh le fòirneart, a’ dol air ais is air adhart grunn thursan. Rè a’ phròiseis seo, dh’ fhaodadh am faidhle /var/run/apache2/apache2.pid a bhith 0 bytes.

Ann am faclan eile, tha am faidhle fhathast ann, ach tha e falamh.

Nuair a leughas Monit am faidhle seo, chan fhaigh e dad. Chan eil e ag aithneachadh an Apache2 agad, eadhon ged a tha an Apache2 agad ag obair gu foirfe sa chùlaibh; chan eil Monit den bheachd gu bheil am pròiseas ann.

Nuair a chunnaic mi seo, bha mi gun cainnt airson mionaid.

Tha seo na dhùnadh-stad. Chan eil Monit a’ lorg eisimpleir Apache 2, bidh e ag ath-thòiseachadh Apache2, a’ truailleadh am faidhle PID rè a’ phròiseas ath-thòiseachaidh, a’ fàiligeadh an ath lorg, agus ag ath-thòiseachadh a-rithist. Bidh an cearcall seo a’ leantainn gus an tig an ùine-crìochnachaidh.

Ceumannan Fuasgladh dhuilgheadasan agus càraidh airson sgrùdadh Apache2 ann an àrainneachd HestiaCP

Gus a bhith onarach, chan eil am pròiseas rannsachaidh iom-fhillte, ach feumaidh fios a bhith agad dè an taobh a bu chòir dhut sgrùdadh a dhèanamh.

Is e a’ chiad cheum faighinn a-mach dè am port air a bheil an Apache2 agad ag èisteachd. Dìreach taip àithne san teirminéal.

netstat -tulpn | grep apache2

Air neo, faodaidh tu an àithne `ss` a chleachdadh; tha an aon bhuaidh aige.

ss -tulpn | grep apache2

Chì thu toradh coltach ris an seo.

tcp  0  0 127.0.0.1:8081       0.0.0.0:*  LISTEN  2942372/apache2

Tha e dearbhte gur e 8081 a th’ ann, chan e 80. Sin freumh na trioblaid.

Is e an dàrna ceum am faidhle PID coirbte a chàradh. Tha seo nas sìmplidh.

monit unmonitor apache2
systemctl restart apache2
cat /var/run/apache2/apache2.pid

An toiseach, cuir stad air sgrùdadh Monit gus casg a chur air bho bhith a’ cur bacadh ort fhad ’s a tha thu a’ càradh rudan. An uairsin, ath-thòisich Apache2 gus leigeil leis PID glan ath-sgrìobhadh. Mu dheireadh, cleachd `cat` gus susbaint an fhaidhle a sgrùdadh; bu chòir sreang àireamhan a bhith ann, chan e sreang falamh.

Cho luath ‘s a bhios an ceum seo deiseil, tha am fuasgladh air a’ chùis gu bunaiteach.

Tubaistean tric aig Apache2 le HestiaCP? Stiùireadh sgrùdaidh is fuasgladh-cheistean fèin-ghluasadach Monit (le rèiteachadh iomlan)

Mion-sgrùdadh Coimeasach air Rèiteachaidhean Dìon Atharrachail is Ionnsaigheach Traidiseanta Monit

Mar as trice bidh clasaichean-teagaisg air-loidhne mu bhith a’ rèiteachadh Apache2 le Monit a’ tuiteam ann an dà roinn.

Is e aon seòrsa an "seòrsa atharrachaidh traidiseanta," a bhios a’ cleachdadh an àithne `seirbheis` gus seirbheisean a riaghladh agus puirt ionadail a sgrùdadh gun cus chuingealachaidhean toinnte a chur ris. Faodar an rèiteachadh seo a chleachdadh air HestiaCP le bhith dìreach ag atharrachadh a’ phuirt, agus tha e caran seasmhach.

Is e dòigh-obrach eile an dòigh "dìon ionnsaigheach", a bhios a’ cleachdadh systemctl gus seirbheisean a riaghladh, a’ cur cuingealachaidhean pròiseas cloinne ris, agus a’ cleachdadh loidsig lorg nas teinne. Tha e a’ coimhead glè mhath, ach tha lochd marbhtach ann: is e `killall -9` an àithne stad a thathar a’ cleachdadh.

Dè tha `killall -9` a’ ciallachadh? Tha e a’ ciallachadh an inneal a mharbhadh le feachd ge bith dè a tha e a’ dèanamh. Faodaidh an gnìomh brùideil seo faidhlichean PID coirbte fhàgail às a dhèidh gu furasta, agus is e sin an duilgheadas a dh’ainmich mi an-dràsta.

Is e mo dh'eòlas pearsanta gu bheil e gu math feumail àireamh nam pròiseasan cloinne a chuingealachadh ann an rèiteachadh ionnsaigheach. Nuair a bhios ionnsaigh CC a’ toirt thairis air an Apache2 agad, faodaidh àireamh nam pròiseasan cloinne a chuingealachadh casg a chuir air an fhrithealaiche bho bhith a’ ruith a-mach à cuimhne. Ach, chan eil an dòigh-obrach `killall -9` idir feumail.

Mar sin aig a’ cheann thall rinn mi co-rèiteachadh agus chuir mi buannachdan an dà rèiteachadh còmhla.

Rèiteachadh Cleachdaidh as Fheàrr airson HestiaCP Apache2 Monit

Atharraich am faidhle /etc/monit/conf.d/apache2 leis an t-susbaint a leanas.

check process apache2 with pidfile /var/run/apache2/apache2.pid
    start program = "/bin/systemctl start apache2"
    stop program  = "/bin/systemctl stop apache2"
    if children > 120 for 2 cycles then restart
    if failed host 127.0.0.1 port 8081 protocol http for 2 cycles then restart
    if 5 restarts within 10 cycles then timeout

Leig dhomh mìneachadh goirid a dhèanamh air an loidsig air cùl nan beagan loidhnichean rèiteachaidh seo.

Sgrìobh port 8081 gus a bhith co-ionnan ri ailtireachd proxy cùil HestiaCP; sguir de bhith a’ sgrìobhadh port 80 gu gòrach.

Cleachd an àithne `systemctl stop` an àite `killall -9` gus am faidhle PID a stad, gus nach tèid a thruailleadh.

Chaidh crìoch a chur ris airson pròiseasan cloinne: ma tha an àireamh de chloinn nas àirde na 120, tòisichidh am pròiseas a-rithist às dèidh dà chearcall leantainneach gus casg a chur air ionnsaighean CC, ach chan eil e ro ionnsaigheach.

Chaidh an loidsig airson fàilligidhean a lorg atharrachadh gus dòigh-obrach “airson 2 chearcall” a chleachdadh, a’ ciallachadh nach tèid ath-thòiseachadh a bhrosnachadh ach an dèidh dà fhàilligeadh às dèidh a chèile, a’ lughdachadh dearbhaidhean meallta. Bha an rèiteachadh roimhe, a thòisich a-rithist an dèidh dìreach aon lorg, gu dearbh beagan ro mhothachail.

Tha an stairsneach crìochnachaidh-ama mu dheireadh air a lughdachadh gu 5 ath-thòiseachadh taobh a-staigh 10 cearcallan, a’ fàgail fulangas mearachd gu leòr.

HestiaCP Cumail sùil airGeàrr-chunntas air fuasgladh dhuilgheadasan rèiteachaidh agus roinneadh eòlais

Às dèidh dhomh na h-atharrachaidhean rèiteachaidh a dhèanamh, rinn mi sgrùdadh air apache2, agus mu dheireadh sheall am pannal comharra uaine "Ceart gu leòr".

Ciamar a mhìnicheas mi na faireachdainnean a bh’ agam aig an àm? Bha e coltach ri bhith a’ strì ri biast dà latha, dìreach airson faighinn a-mach gur e aon loidhne rèiteachaidh ceàrr a bu choireach. Bha e an dà chuid duilich agus èibhinn.

’S e rud math a th’ ann am Monit ann fhèin, agus ’s e rudeigin a bu chòir do gach frithealaiche a dhèanamh a bhith a’ cumail sùil air daemons. Ach is e an duilgheadas gu bheil mòran de na clasaichean-teagaisg air-loidhne stèidhichte air a’ bharail gu bheil “Apache2 a’ cleachdadh port 80 a-mhàin,” agus gu bheil HestiaCP a’ cleachdadh progsaidh cùil, agus mar sin chan eil am barail seo fìor.

Mura lean thu an stiùireadh, chan e thusa a tha ceàrr; is e gu bheil an oideachadh buntainneach do shuidheachadh eadar-dhealaichte bhon tè agadsa.

Mar sin ma tha thu cuideachd a’ cleachdadh HestiaCP agus a’ cluich le Monit gus sùil a chumail air Apache2, cuimhnich dà rud: Atharraich am port gu 8081, agus cleachd an àithne `systemctl` gus stad a chuir air, chan e `killall -9`. Ma nì thu an dà rud seo, bu chòir dhut a bhith comasach air duilgheadasan sam bith eile a sheachnadh.


A chionn 's gun do leugh thu cho fada seo, ma bha e feumail dhut, feuch an cuir thu “like” air agus roinn e. Ma tha thu airson ùrachaidhean fhaighinn an toiseach, faodaidh tu mo leantainn cuideachd!

Tapadh leibh airson an artaigil agam a leughadh. Chì mi sibh an ath thuras.

Tha mi an dòchas gum bi an t-artaigil "HestiaCP Apache2 Frequent Crashes? Monit Automated Monitoring and Troubleshooting Guide (with Complete Configuration)" a chaidh a cho-roinn air blog Chen Weiliang ( https://www.chenweiliang.com/ ) feumail dhut.

Faodaidh sibh ceangal an artaigil seo a cho-roinn: https://www.chenweiliang.com/cwl-34457.html

Gus barrachd chleasan falaichte fhuasgladh🔑, fàilte oirbh a thighinn còmhla ris an t-sianal Telegram againn!

Roinn agus toil ma thogras tu e! Is e na h-earrannan agad agus na rudan as toil leinn ar brosnachadh leantainneach!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Rach gu mhullaich