Ngaba i-Apache2 isoloko ingasebenzi kakuhle ngeHestiaCP? Jonga isikhokelo sokujonga kunye nokusombulula iingxaki ngokuzenzekelayo (ngoqwalaselo olupheleleyo)

Ngaba i-Apache2 iyawa rhoqo okanye i-Monit iyawa ngokuzenzekelayo xa iqalisa kwakhona kwiindawo zeHestiaCP ? Eli nqaku libonelela ngesikhokelo esisebenzayo sokuphepha iingxaki eziqhelekileyo xa ujonga i-Apache2 nge-Monit, uhlalutya nzulu imiba eqhelekileyo efana nokungahambi kakuhle kwendlela ye-PID kunye nokuvalwa kwemvume, kunye nokubonelela ngeefayile zokumisela i-automation ye-Monit yenqanaba lemveliso. Yiba yingcali kwiindlela zokugcina iseva ezifumaneka kakhulu ngoku kwaye ufezekise ukubuyiselwa ngokuzenzekelayo kwinqanaba lesibini kwiimpazamo!

Imingcipheko endidibene nayo ngelixa ndisebenzisa iMonit ukujonga iApache2

NgoLwesihlanu odlulileyo, umncedisi undinike isaziso seMonit ezinzulwini zobusuku.

Ndajonga iphaneli ndididekile, kwaye kwikholamu yesimo se-apache2, kwakukho iTimeout ebomvu.

Ngaba i-Apache2 isoloko ingasebenzi kakuhle ngeHestiaCP? Jonga isikhokelo sokujonga kunye nokusombulula iingxaki ngokuzenzekelayo (ngoqwalaselo olupheleleyo)

Ndikhe ndacinga ngayo okwethutyana. Ndisandula ukongeza i-Monit monitoring kwiseva emini, kwaye ndikhuphele ndaza ndancamathisela uqwalaselo oluvela kwisifundo esikwi-intanethi. Akufanele kubekho naziphi na iingxaki, akunjalo?

Ngentsasa elandelayo, yaphinda yaphela. Emva kwexesha lesithathu, iMonitor yancama, kwaye iphaneli yabonisa "Ayijongwanga".

Mna...

Ndiyavuma, andizange ndiyithathe nzulu ekuqaleni. Ukubeka esweni i-Apache2? Ungafumana uqwalaselo oluninzi lweetemplate kwi-intanethi, kopisha nje kwaye uncamathisele. Kodwa loo nkqubo yokuncamathisela indenze ndanomsindo kakhulu.

Unobangela oyintloko wengxabano phakathi koyilo oluzenzekelayo lweHestiaCP kunye neechweba zeMonit

Mandiqale ndikubonise indlela endenze ngayo ingxaki enkulu, ukuze ubone ukuba iyafana na nenguqulelo oyibonileyo.

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

Kubonakala kulungile, akunjalo? Ijonga i-port 80, kwaye ukuba iyawa, iyaqala kwakhona. Ukuba isawa emva kokuba iqale kwakhona izihlandlo ezi-5, iyaphela.

Ingxaki kukuba, i-Apache2 yakho ayisebenzi nakwizibuko 80.

Le yingxaki yeHestiaCP, kwaye yimbangela yokuba abantu abaninzi bawele kuyo. Uyilo oluqhelekileyo lweHestiaCP luyiproksi echaseneyo yeNginx + Apache2, apho iNginx ithatha amazibuko angama-80 kunye nama-443 ngaphambili, kwaye iApache2 isebenza kwizibuko lendawo elingu-8081 ngasemva.

Ukuba ucela uMonit ukuba ahlole ukuba i-Apache2 isebenza njani kwi-port 80, kufana nokuya eMcDonald's ukuya kufuna i-KFC. Iseva ikujonge ngaphandle kokujonga, kwaye nobabini nijongana. Ekugqibeleni, uMonit ufumanisa ukuba udiniwe aze aqalise ukuqalisa kwakhona ngokukhawuleza.

Emva kokuqalisa kwakhona, i-port isengu-8081. Emva koko iMonit izame ukuphanda i-port 80, nayo engaphumeleliyo, ngoko ke iqala kwakhona. Lo mjikelo uphinda ubuye ude uMonit agqibe kwelokuba ayisekho indlela yokulungisa kwaye ayisekho.

Xa ndandiqala ukudibana nale nto, ndothuka ngokwenene. Izifundo ezilithoba kwezilishumi endizifumene kwi-intanethi zisebenzise i-port 80. Ukuba uzilandele, ingxaki yayingekho kuwe, kodwa yayikumthombo wolwazi ngokwalo.

Ngaba i-Apache2 isoloko ingasebenzi kakuhle ngeHestiaCP? Jonga isikhokelo sokujonga kunye nokusombulula iingxaki ngokuzenzekelayo (ngoqwalaselo olupheleleyo)

Ifayile ye-Apache2 PID eyonakeleyo ibangele ukuba iMonit ichonge ngempazamo le nkqubo njengengekhoyo.

Emva kokutshintsha izibuko ukusuka kwi-80 ukuya kwi-8081, iMonit kufuneka ikwazi ukuyifumana ngokwethiyori, akunjalo?

Nangona kunjalo, enyanisweni, ngamanye amaxesha ixela ukuba "Ukuphunyezwa akuphumelelanga ".

Emva kokusokola ixesha elide, ekugqibeleni ndafumanisa ukuba isizathu silula: ifayile ye-PID yonakele.

Cinga ngayo, uMonit wayeqalisa ngokutsha iApache2 ngokungxama, ngalo lonke ixesha eyibulala ngenkani aze ayiqalise kwakhona, esiya phambili nangasemva amaxesha amaninzi. Ngexesha lale nkqubo, ifayile /var/run/apache2/apache2.pid isenokuba yi-0 bytes.

Ngamanye amazwi, ifayile isekhona, kodwa ayinanto.

Xa uMonit efunda le fayile, akafumani nto. Akayiboni iApache2 yakho, nokuba iApache2 yakho isebenza kakuhle ngasemva; uMonit akacingi ukuba le nkqubo ikhona.

Ndathi ndakubona oku, ndathula okomzuzwana.

Le yi-deadlock. I-Monit ayiphumeleli ukubona i-Apache 2 instance, iqalisa kwakhona i-Apache2, yonakalise ifayile ye-PID ngexesha lenkqubo yokuqalisa kwakhona, iphumelele ekufumaneni okulandelayo, ize iqalise kwakhona. Lo mjikelo uyaqhubeka de kube lixesha lokuphela.

Amanyathelo okulungisa iingxaki kunye nokulungisa i-Apache2 Monitoring kwiHestiaCP Environment

Inyaniso kukuba, inkqubo yophando ayinzima, kodwa kufuneka wazi ukuba uphande ngayiphi indlela.

Inyathelo lokuqala kukufumanisa ukuba i-Apache2 yakho imamele kweyiphi i-port. Thayipha nje umyalelo kwi-terminal.

netstat -tulpn | grep apache2

Okanye, ungasebenzisa umyalelo othi `ss`; isiphumo siyafana.

ss -tulpn | grep apache2

Uza kubona imveliso efana nale.

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

Kuqinisekisiwe ukuba yi-8081, hayi i-80. Yiyo loo nto ingunobangela wengxaki.

Inyathelo lesibini kukulungisa ifayile ye-PID eyonakeleyo. Oku kulula kakhulu.

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

Okokuqala, misa uqwalaselo lweMonit ukuze uthintele ukuba ingaphazamisi ngelixa ulungisa izinto. Emva koko, qalisa kwakhona iApache2 ukuze ivumele ukuba iphinde ibhale iPID ecocekileyo. Okokugqibela, sebenzisa i-`cat` ukujonga umxholo wefayile; kufuneka ibe noluhlu lwamanani, hayi uluhlu olungenanto.

Nje ukuba eli nyathelo ligqityiwe, ingxaki isonjululwe ngokusisiseko.

Ngaba i-Apache2 isoloko ingasebenzi kakuhle ngeHestiaCP? Jonga isikhokelo sokujonga kunye nokusombulula iingxaki ngokuzenzekelayo (ngoqwalaselo olupheleleyo)

Uhlalutyo oluthelekisayo lweMonit Traditional Adaptive kunye neAggressive Protective Configurations

Izifundo ezikwi-intanethi malunga nokumisela i-Apache2 nge-Monit zihlala zahlulwe zibe ziindidi ezimbini.

Olunye uhlobo "luhlobo lwesiqhelo lohlengahlengiso," olusebenzisa umyalelo we-`service` ukulawula iinkonzo kunye nokujonga ii-port zasekuhlaleni ngaphandle kokongeza imiqathango emininzi enzima. Olu lungiselelo lungasetyenziswa kwiHestiaCP ngokutshintsha nje i-port, kwaye izinzile.

Enye indlela yindlela "yokukhusela ngogonyamelo", esebenzisa i-systemctl ukulawula iinkonzo, yongeza imiqathango yenkqubo yomntwana, kwaye isebenzisa ingqiqo engqongqo yokufumanisa. Ijongeka intle, kodwa inesiphene esibulalayo: umyalelo we-stop osetyenzisiweyo ngu-`killall -9`.

Ithetha ukuthini i-`killall -9`? Ithetha ukubulala isixhobo ngenkani nokuba senza ntoni na. Olu sebenzi lwe-brute-force lunokushiya iifayile ze-PID ezonakeleyo, yingxaki endisandula ukuyikhankanya.

Amava am kukuba ukunciphisa inani leenkqubo zabantwana kwisimo sobundlongondlongo ngokwenene kuluncedo. Xa i-Apache2 yakho igcwele luhlaselo lwe-CC, ukunciphisa inani leenkqubo zabantwana kunokuthintela iseva ekuphelelweni yimemori. Nangona kunjalo, indlela ye-`killall -9` ayinakusetyenziswa ngokwenene.

Ngoko ke ekugqibeleni ndiye ndazibeka emngciphekweni ndaza ndadibanisa iingenelo zezi zicwangciso zombini.

Uqwalaselo oluBalaseleyo lweHestiaCP Apache2 Monit

Guqula ifayile /etc/monit/conf.d/apache2 ngomxholo olandelayo.

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

Makhe ndichaze ngokufutshane ingqiqo engasemva kwale migca imbalwa yoqwalaselo.

Bhala i-port 8081 ukuze ihambelane ngokuchanekileyo noyilo lwe-proxy oluchasene ne-HestiaCP; yeka ukubhala i-port 80 ngobudenge.

Sebenzisa umyalelo othi `systemctl stop` endaweni ka `killall -9` ukuze umise ifayile ye-PID, ukuze ungayitshabalalisi.

Umda wenkqubo yomntwana wongezwe: ukuba inani labantwana lidlula i-120, inkqubo iya kuqalisa kwakhona emva kwemijikelo emibini elandelelanayo ukuthintela ukuhlaselwa yi-CC, kodwa ayinamandla kakhulu.

Ingqiqo yokufumanisa ukungaphumeleli itshintshiwe ukuze kusetyenziswe indlela ethi "yemijikelo emi-2", oko kuthetha ukuba ukuqala kwakhona kuqaliswa kuphela emva kokungaphumeleli kabini ngokulandelelana, nto leyo enciphisa iziphumo ezingezizo ezilungileyo. Uqwalaselo lwangaphambili, oluqale kwakhona emva kokufunyanwa kanye kuphela, ngokungathandabuzekiyo lwalunobuthathaka obugqithisileyo.

Umda wokugqibela wokuphelelwa lixesha uyakhululeka ukuya ekuqaliseni kwakhona izihlandlo ezi-5 kwimijikelo eli-10, nto leyo eshiya unyamezelo olwaneleyo lweziphene.

I-HestiaCP Monitha esweniIsishwankathelo sokusombulula iingxaki zoBume kunye nokwabelana ngamava

Emva kokwenza utshintsho kuqwalaselo, ndijonge i-apache2, kwaye ekugqibeleni iphaneli ibonise isalathisi esiluhlaza esithi "Kulungile".

Ndingazichaza njani iimvakalelo zam ngelo xesha? Kwakufana nokuchitha iintsuku ezimbini ndilwa ne-bug, kodwa ndafumanisa ukuba unobangela yayiluluhlu olunye lweendlela ezazingalunganga. Kwakucaphukisa kwaye kuhlekisa.

I-Monit yinto entle ngokwayo, kwaye ukujonga ii-daemons yinto ekufuneka yenziwe yiseva nganye. Kodwa ingxaki kukuba izifundo ezininzi ezikwi-intanethi zisekelwe kwingcamango yokuba "i-Apache2 isebenzisa i-port 80 kuphela," ngelixa i-HestiaCP isebenzisa i-reverse proxy, oko kuthetha ukuba le ngcamango ayingqinelani.

Ukuba ulandela imiyalelo, ingxaki ayinguwe; kukuba isifundo sisebenza kwimeko eyahlukileyo kuneyakho.

Ngoko ke ukuba usebenzisa iHestiaCP kwaye udlala ngeMonit ukujonga iApache2, khumbula nje izinto ezimbini: Tshintsha izibuko libe yi-8081, kwaye usebenzise umyalelo othi `systemctl` ukuze uyimise, hayi `killall -9`. Ukuba wenza ezi zinto zimbini, kuya kufuneka ukwazi ukuphepha ezinye iingxaki.


Ekubeni sele uyifundile le ncwadi, ukuba uyifumene iluncedo, nceda uyithande kwaye uyibelane ngayo. Ukuba ufuna ukufumana uhlaziyo kuqala, ungandilandela!

Enkosi ngokufunda inqaku lam. Siza kubonana kwixesha elizayo.

Ngethemba, inqaku elithi "HestiaCP Apache2 Frequent Crashes? Monit Automated Monitoring and Troubleshooting Guide (enoCwangciso olupheleleyo)" elikwabelwana ngalo kwibhlog kaChen Weiliang ( https://www.chenweiliang.com/ ) liza kuba luncedo kuwe.

Zive ukhululekile ukwabelana ngekhonkco leli nqaku: https://www.chenweiliang.com/cwl-34457.html

Ukuvula amaqhinga afihlakeleyo🔑, wamkelekile ukujoyina ijelo lethu leTelegram!

Yabelana kwaye uthande ukuba uyayithanda! Izabelo zakho kunye nezinto ozithandayo ziyinkuthazo yethu eqhubekayo!

 

Shiya uluvo

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

Skrolela phezulu