Uhla lwemibhalo ye-athikili
Ukuphahlazeka okuvamile kwe-Apache2 noma ukwehluleka kokuqala kabusha kwe-Monit ngokuzenzakalela ezindaweni ze -HestiaCP ? Lesi sihloko sinikeza umhlahlandlela osebenzayo wokugwema izingibe ezivamile lapho uqapha i-Apache2 nge-Monit, ukuhlaziya ngokujulile izinkinga ezivamile njengokungahambisani kahle kwendlela ye-PID kanye nokuvimba izimvume, kanye nokunikeza amafayela okucushwa okuzenzakalelayo kwe-Monit ebanga lokukhiqiza. Funda amasu okulungisa iseva atholakala kakhulu manje bese ufinyelela ukululama okuzenzakalelayo kwezinga lesibili kusukela ekuhlulekeni!
Izingibe engizihlangabeze ngenkathi ngisebenzisa iMonit ukuqapha i-Apache2
NgoLwesihlanu olwedlule, iseva yanginika isexwayiso seMonit phakathi nobusuku.
Ngabheka iphaneli ngididekile, futhi kukholamu yesimo se-apache2, kwakukhona i-Timeout ebomvu.

Ngicabange ngakho isikhashana. Ngisanda kufaka ukuqapha kwe-Monit kuseva emini, futhi ngikopishe futhi nginamathisele ukucushwa okuvela esifundweni esiku-inthanethi. Akufanele kube nezinkinga, akunjalo?
Ngakusasa ekuseni, kwaphela isikhathi futhi. Ngemva kwesikhathi sesithathu, i-Monitor yavele yadela, futhi iphaneli yabonisa ukuthi "Ayiqashiwe".
Ngi...
Ngiyavuma, angizange ngikuthathe ngokungathi sína ekuqaleni. Ukuqapha i-Apache2? Ungathola ukucushwa okuningi kwethempulethi ku-inthanethi, mane ukopishe bese unamathisela. Kodwa leyo nqubo yokunamathisela ingenze ngathukuthela kakhulu.
Imbangela eyinhloko yengxabano phakathi kokwakhiwa okuzenzakalelayo kwe-HestiaCP kanye namachweba e-Monit
Ake ngiqale ngikubonise ukucushwa okungibangele inkinga enkulu kangaka, ukuze ubone ukuthi kufana ncamashi nenguqulo oyibonile.
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 timeoutKubonakala kulungile, akunjalo? Ihlola i-port 80, futhi uma iphahlazeka, iqala kabusha. Uma isaphahlazeka ngemva kokuqala kabusha okungu-5, iyaphela.
Inkinga ukuthi, i-Apache2 yakho ayisebenzi ngisho naku-port 80.
Lokhu kuyisithiyo se-HestiaCP, futhi imbangela eyinhloko yokuthi abantu abaningi bawele kuso. Ukwakheka okuzenzakalelayo kwe-HestiaCP kuyi-proxy ephambene ne-Nginx + Apache2, lapho i-Nginx ithatha amachweba angu-80 no-443 ngaphambili, kanye ne-Apache2 esebenza echwebeni lendawo elingu-8081 ngemuva.
Uma ucela uMonit ukuthi ahlole ukuthi i-Apache2 isebenza kanjani ku-port 80, kufana nokuya eMcDonald's ukuyofuna i-KFC. Iseva ikubheka ngaphandle kolwazi, bese nibukana. Ekugcineni, uMonit unquma ukuthi udidekile bese eqala kabusha ngokukhulu ukushesha.
Ngemva kokuqala kabusha, imbobo isengu-8081. I-Monit izama ukuhlola imbobo engu-80, nayo ehlulekayo, ngakho iqala kabusha futhi. Lo mjikelezo uyaphinda kuze kube yilapho i-Monit inquma ukuthi ayisalungiseki futhi isikhathi siphelile.
Ngesikhathi ngiqala ukuhlangana nalokhu, ngamangala ngempela. Izifundo eziyisishiyagalolunye kweziyishumi engizithole ku-inthanethi zisebenzisa i-port 80. Uma uzilandele, inkinga yayingekho kuwe, kodwa yayikumthombo wolwazi uqobo.

Ifayela le-Apache2 PID elonakele libangele ukuthi i-Monit ibone ngephutha inqubo njengengekho.
Ngemuva kokushintsha ichweba kusuka ku-80 kuya ku-8081, iMonit kufanele ikwazi ukuyithola ngokwemfundiso, akunjalo?
Kodwa-ke, empeleni, kusabikwa ngezinye izikhathi ukuthi "Ukwenziwa kwehlulekile ".
Ngemva kokuzabalaza isikhathi eside, ekugcineni ngithole ukuthi isizathu silula: ifayela le-PID lonakele.
Cabanga ngakho, uMonit wayeqala kabusha i-Apache2 ngokukhulu ukushesha, isikhathi ngasinye eyibulala ngenkani futhi eyiqala kabusha, eqhubeka izikhathi eziningana. Phakathi nale nqubo, ifayela /var/run/apache2/apache2.pid lingase libe amabhayithi angu-0.
Ngamanye amazwi, ifayela lisekhona, kodwa alinalutho.
Uma iMonit ifunda leli fayela, ayitholi lutho. Ayiboni i-Apache2 yakho, noma ngabe i-Apache2 yakho isebenza kahle ngemuva; iMonit ayicabangi ukuthi inqubo ikhona.
Lapho ngibona lokhu, ngaphelelwa amazwi okwesikhashana.
Lokhu kuyi-deadlock. I-Monit yehluleka ukuthola i-Apache 2 instance, iqala kabusha i-Apache2, yonakalise ifayela le-PID ngesikhathi senqubo yokuqalisa kabusha, yehluleka ukuthola okulandelayo, bese iqala kabusha futhi. Lo mjikelezo uyaqhubeka kuze kube yilapho isikhathi sokuvala sifika.
Izinyathelo Zokuxazulula Izinkinga Nokulungisa Zokuqapha i-Apache2 Emvelweni we-HestiaCP
Uma ngikhuluma iqiniso, inqubo yophenyo ayinzima, kodwa udinga ukwazi ukuthi iyiphi indlela okufanele uyihlole.
Isinyathelo sokuqala ukuthola ukuthi i-Apache2 yakho ilalele kuyiphi imbobo. Mane nje uthayiphe umyalo ku-terminal.
netstat -tulpn | grep apache2Ngaphandle kwalokho, ungasebenzisa umyalo othi `ss`; umphumela uyafana.
ss -tulpn | grep apache2Uzobona umphumela ofana nalokhu.
tcp 0 0 127.0.0.1:8081 0.0.0.0:* LISTEN 2942372/apache2Kuqinisekisiwe ukuthi ingu-8081, hhayi u-80. Yilokho okubangela inkinga.
Isinyathelo sesibili ukulungisa ifayela le-PID elonakele. Lokhu kulula kakhulu.
monit unmonitor apache2
systemctl restart apache2
cat /var/run/apache2/apache2.pidOkokuqala, misa ukuqapha kwe-Monit ukuze uvimbele ukuthi ingaphazamisi ngenkathi ulungisa izinto. Bese, qala kabusha i-Apache2 ukuze uyivumele ukuthi ibhale kabusha i-PID ehlanzekile. Okokugcina, sebenzisa i-`cat` ukuhlola okuqukethwe kwefayela; kufanele ibe nochungechunge lwezinombolo, hhayi uchungechunge olungenalutho.
Uma lesi sinyathelo sesiqediwe, inkinga ixazululiwe ngokuyisisekelo.

Ukuhlaziywa Okuqhathanisayo Kokulungiselelwa Kokuvikela Okuguquguqukayo Nokunamandla Kwendabuko ye-Monit
Izifundo eziku-inthanethi zokulungiselela i-Apache2 nge-Monit ngokuvamile ziwela ezigabeni ezimbili.
Uhlobo olulodwa "uhlobo lokuzivumelanisa olujwayelekile," olusebenzisa umyalo othi `service` ukuphatha izinsizakalo nokuhlola amachweba endawo ngaphandle kokwengeza imikhawulo eminingi eyinkimbinkimbi. Lokhu kulungiselelwa kungasetshenziswa ku-HestiaCP ngokushintsha nje ichweba, futhi lizinzile.
Enye indlela yindlela "yokuvikela ngobudlova", esebenzisa i-systemctl ukuphatha izinsizakalo, yengeza imikhawulo yenqubo yengane, futhi isebenzisa indlela yokubona eqinile. Ibukeka kahle, kodwa inephutha elibulalayo: umyalo we-stop osetshenzisiwe ngu-`killall -9`.
Kusho ukuthini ukuthi `killall -9`? Kusho ukubulala idivayisi ngenkani kungakhathaliseki ukuthi yenzani. Lo msebenzi we-brute-force ungashiya kalula amafayela e-PID onakele, okuyiyona nkinga engisanda kuyisho.
Okuhlangenwe nakho kwami siqu ukuthi ukunciphisa inani lezinqubo zezingane ekucushweni okunolaka kuyasiza ngempela. Uma i-Apache2 yakho inqotshwe ukuhlaselwa yi-CC, ukunciphisa inani lezinqubo zezingane kungavimbela iseva ukuthi iphelelwe yimemori. Kodwa-ke, indlela ethi `killall -9` ayisebenzi ngempela.
Ngakho ekugcineni ngenze iphutha futhi ngahlanganisa izinzuzo zokucushwa kokubili.
Ukucushwa Komkhuba Ongcono Kakhulu kwe-HestiaCP Apache2 Monit
Shintsha ifayela /etc/monit/conf.d/apache2 ngokuqukethwe okulandelayo.
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 timeoutAke ngichaze kafushane i-logic ngemuva kwale migqa embalwa yokucushwa.
Bhala i-port 8081 ukuze ifane kahle nokwakheka kwe-proxy okuphambene ne-HestiaCP; yeka ukubhala ngobuwula i-port 80.
Sebenzisa umyalo othi `systemctl stop` esikhundleni sokuthi `killall -9` ukuze umise ifayela le-PID, ukuze ungaliphazamisi.
Kufakwe umkhawulo wenqubo yengane: uma inani lezingane lidlula i-120, inqubo izoqala kabusha ngemva kwemijikelezo emibili elandelanayo ukuvimbela ukuhlaselwa kwe-CC, kodwa ayinamandla kakhulu.
Umqondo wokuthola ukwehluleka ushintshiwe ukuze kusetshenziswe indlela "yemijikelezo emi-2", okusho ukuthi ukuqala kabusha kuqala kuphela ngemva kokwehluleka okubili okulandelanayo, kunciphisa imiphumela engamanga. Ukucushwa kwangaphambilini, okwaqala kabusha ngemva kokutholwa okukodwa nje, empeleni kwakubucayi kakhulu.
Umkhawulo wokugcina wokuvala ukhululeka ube yi-5 restarts ngaphakathi kwemijikelezo eyi-10, okushiya ukubekezelelana okwanele kwamaphutha.
I-HestiaCP Bheka ukuqaphaIsifinyezo Sokuxazulula Izinkinga Zokucushwa kanye Nokwabelana Ngolwazi
Ngemva kokwenza izinguquko zokucushwa, ngaqapha i-apache2, futhi ekugcineni iphaneli yabonisa inkomba eluhlaza "Kulungile".
Ngingayichaza kanjani imizwa yami ngaleso sikhathi? Kwakufana nokuchitha izinsuku ezimbili ngilwa nephutha, kodwa ngazithola ukuthi imbangela kwakuwumugqa owodwa wokuhlela owawungalungile. Kwakukhungathekisa futhi kuhlekisa.
I-Monit iyinto enhle ngokwayo, futhi ukuqapha ama-daemons kuyinto okufanele yenziwe yiwo wonke amaseva. Kodwa inkinga ukuthi izifundo eziningi eziku-inthanethi zisekelwe ekucabangeni kokuthi "i-Apache2 isebenzisa i-port 80 kuphela," kuyilapho i-HestiaCP isebenzisa i-reverse proxy, okusho ukuthi lokhu kucabanga akulona iqiniso.
Uma ulandela imiyalelo, inkinga akuwena; ukuthi isifundo sisebenza esimweni esihlukile kunesakho.
Ngakho-ke uma usebenzisa i-HestiaCP futhi udlala nge-Monit ukuqapha i-Apache2, khumbula izinto ezimbili: Shintsha i-port ibe yi-8081, bese usebenzisa umyalo othi `systemctl` ukuyimisa, hhayi `killall -9`. Uma wenza lezi zinto ezimbili, kufanele ukwazi ukugwema ezinye izinkinga.
Njengoba usufundile kuze kube manje, uma ukuthole kuwusizo, sicela uthande futhi wabelane ngakho. Uma ufuna ukuthola izibuyekezo kuqala, ungangilandela futhi!
Ngiyabonga ngokufunda isihloko sami. Sizobonana ngesikhathi esizayo.
Ngethemba ukuthi isihloko esithi "HestiaCP Apache2 Frequent Crashes? Monit Automated Monitoring and Troubleshooting Guide (with Complete Configuration)" esabiwe kubhulogi likaChen Weiliang ( https://www.chenweiliang.com/ ) sizokusiza.
Zizwe ukhululekile ukwabelana ngalesi sixhumanisi sendatshana: https://www.chenweiliang.com/cwl-34457.html
