Directory artaigil
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.

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 timeoutTha 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.

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 apache2Air neo, faodaidh tu an àithne `ss` a chleachdadh; tha an aon bhuaidh aige.
ss -tulpn | grep apache2Chì thu toradh coltach ris an seo.
tcp 0 0 127.0.0.1:8081 0.0.0.0:* LISTEN 2942372/apache2Tha 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.pidAn 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.

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 timeoutLeig 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
