Drejtoria e artikujve
🚀 Kur një faqe dinamike në një faqe interneti papritmas ka një kod statusi jo-200, si mund të vetë-riparohet PHP8.3-FPM brenda sekondash?
🔥 Konfigurim shpëtimtar PHP90-FPM që 8.3% e operatorëve nuk e dinë! Mësimdhënie praktike e sistemit vetë-shërimi të faqeve dinamike Monit.
A mendoni se monitorimi i mbijetesës së procesit PHP-FPM është i mjaftueshëm? Plotësisht gabim!
Kur PHP-FPM në një server papritmas prishet, thjesht të shikosh mbijetesën e procesit është si të përdorësh një termometër për të matur kancerin - nuk e kap fare problemin fatal.
Kam parë shumë njerëz që ruajnëphp-fpm.sockMonitorimi ishte i vetëkënaqur dhe, si rezultat, faqja e internetit është bërë prej kohësh një varrezë 404. Sot dua ta shkatërroj këtë iluzion të funksionimit dhe mirëmbajtjes dhe t'ju tregoj të vërtetën e mallkuar: një proces i gjallë ≠ një shërbim normal.
🌪️ Skenar shkatërrues: Soketi është i lidhur, por faqja e internetit është e vdekur
i sigurtfurnizuesit të energjisë elektrikeMonitorimi i faqes së internetit tregoi se procesi PHP-FPM po funksiononte normalisht, por përdoruesit ankoheshin për dështime në pagesa.
Pas një kërkimi të gjatë, zbulova se një rrjedhje e memories në një bibliotekë të palës së tretë bënte që procesi PHP të ishte aktiv, por plotësisht i paaftë për të përpunuar kërkesat.
Në këtë kohë, mbështetja vetëm në zbulimin e soketave është si të kontrollosh pulsin e një zombi - nuk mund ta gjesh fare trurin.vdekje.
💥 Një zgjidhje monitorimi me dy funksione që dëmton njohjen
Hidhni tutje ato monitorime njëdimensionale të vjetëruara! Ekspertët më të mirë përdorin të gjithë strategjinë e mbytjes së dyfishtë të shtresës së procesit + shtresës së biznesit.

Konfigurimi i mëposhtëm do të lejojë që serveri juaj të shërohet vetë më shpejt sesa personeli i operimit dhe mirëmbajtjes mund të ngrihet nga shtrati kur ndodhin probleme:
check process php8.3-fpm with pidfile /run/php/php8.3-fpm.pid
start program = "/usr/sbin/service php8.3-fpm start"
stop program = "/usr/sbin/service php8.3-fpm stop"
if failed unixsocket /run/php/php8.3-fpm.sock then restart
if failed
host www.chenweiliang.com
port 443
protocol https
request "/wp-login.php"
status = 200
hostheader www.chenweiliang.com
for 3 cycles
then restart
if 5 restarts within 5 cycles then exec "/usr/bin/systemctl restart hestia"
🔍 Detaje fatale të fshehura në parametra
• hostheaderParametrat janë talismanë shpëtimtarë në skenarët e CDN/balancimit të ngarkesës. Pa to, është si të kërkosh një luftëtar të fshehtë me syze shikimi natën - nuk mund ta kapësh gjendjen e pezulluar të shkaktuar nga mungesa e kokës së Host-it.
• for 3 cyclesKy dizajn i periudhës së buferit shmang në mënyrë të përkryer pozitivet e rreme të shkaktuara nga luhatjet e rrjetit. Është si të instalosh një amortizator në sistemin e mbikëqyrjes për të parandaluar që dridhja e duarve të aktivizojë butonin bërthamor.
• E funditexec "/usr/bin/systemctl restart hestia"Është lëvizja përfundimtare vrasëse. Kur PHP-FPM dështoi të ringjallej për 5 herë radhazi, e ktheva tabelën dhe e rifillova të gjithë panelin e hostimit. Ky është një truk që vodha nga mekanizmi i ndërprerësit të qarkut të sistemit tregtar të Wall Street-it.
🚨 Mësime të nxjerra nga dhimbja dhe vuajtja: 3 kurthe që mund t'ju bëjnë të dështoni
- Mashtrimi me certifikatën SSL: Pas një përmirësimi,
protocol httpsMosshkrimi i saj bën që monitorimi ta gjykojë gabim gjithmonë si normale. Më vonë zbulova se versioni i vjetër i Monit nuk e verifikonte certifikatën si parazgjedhje, gjë që bëri që të humbisja bonusin tim të fundvitit. - Kurthi i faqes së hyrjes 401: harroni ta shtoni kur monitoroni faqen e hyrjes
Basic AuthenticationSi rezultat, çdo test shkakton një rinisje. Është si të ujitësh një kopsht me një hidrant zjarri - mjaftueshëm i fortë, por krejtësisht i gabuar. - Vrima e Zezë e Logut: Njëherë
/var/log/monit.logKur madhësia u rrit në 50G, zbuluam se ndonjë idiot e kishte vendosur periudhën e zbulimit në 1 sekondë. Mos harroni, vetë regjistri i monitorimit është objekti që duhet të monitorohet!
💡 Hapat e verifikimit dhe debugging-ut
- Kontrollimi i sintaksës së konfigurimit:
monit -t - Konfigurimi i mbingarkesës:
monit reload
Testi përfundimtar
- Testi i vetëvrasjes: Direkt
kill -9Mbyll procesin PHP-FPM dhe shiko të dhënat e ringjalljes në regjistrin e monitorimit. Ndihesh sikur po shikon një film me zombi! - Injektim helmimi: Modifikoni qëllimisht faqen e hyrjes për të kthyer një kod statusi 503 dhe për të vëzhguar nëse sistemi i monitorimit mund të sulmojë me saktësi. Unë e quaj këtë metodë "vaksinë dixhitale" - injektimi i një sasie të vogël të virusit në sistem paraprakisht për të detyruar përgjigjen imune të sistemit të monitorimit. Kur alarmet të ndizen me shpejtësi dhe shërbimet të shërohen vetë, do të shihni vullnetin më seksi për të mbijetuar në botën e kodit duke u djegur!
Blogu Hope Chen Weiliang ( https://www.chenweiliang.com/ ) Artikulli i ndarë nga Monit që monitoron faqen dinamike të faqes së internetit zbulon se kodi i statusit nuk është 200 dhe rinis automatikisht php8.3-fpm mund të jetë i dobishëm për ju.
Mirë se vini të shpërndani lidhjen e këtij artikulli:https://www.chenweiliang.com/cwl-32764.html
Për të zhbllokuar më shumë truke të fshehura🔑, mirë se vini të bashkoheni me kanalin tonë në Telegram!
Shpërndaje dhe like nëse të pëlqen! Ndarjet dhe pëlqimet tuaja janë motivimi ynë i vazhdueshëm!