Monit აკონტროლებს ვებსაიტის დინამიურ გვერდებს და აღმოაჩენს, რომ სტატუსის კოდი არ არის 200 და ავტომატურად გადატვირთავს php8.3-fpm-ს.

🚀 როდესაც ვებსაიტის დინამიურ გვერდს მოულოდნელად არა-200 სტატუსის კოდი აქვს, როგორ შეიძლება PHP8.3-FPM-ის თვითაღდგენა წამებში?

​​🔥 PHP90-FPM სიცოცხლის გადარჩენის კონფიგურაცია, რომლის შესახებაც ოპერატორების 8.3%-მა არ იცის! Monit-ის დინამიური გვერდის თვითგანკურნების სისტემის პრაქტიკული სწავლება.

თქვენი აზრით, PHP-FPM პროცესის გადარჩენის მონიტორინგი საკმარისია? სრულიად არასწორია!
როდესაც სერვერზე PHP-FPM მოულოდნელად ირღვევა, პროცესის გადარჩენის მაჩვენებლის უბრალოდ დათვალიერება კიბოს გასაზომად თერმომეტრის გამოყენებას ჰგავს - ის საერთოდ ვერ აფიქსირებს სასიკვდილო პრობლემას.

ძალიან ბევრი ადამიანი მინახავს, ​​ვინც იცავსphp-fpm.sockმონიტორინგი თვითკმაყოფილი იყო და შედეგად, ვებსაიტი დიდი ხანია 404-ე სასაფლაოდ იქცა. დღეს მსურს დავშალო ეს ოპერაციისა და ტექნიკური მომსახურების ილუზია და გაჩვენოთ მთელი სიმართლე: ცოცხალი პროცესი ≠ ნორმალური მომსახურება.

🌪️ დესტრუქციული სცენარი: სოკეტი დაკავშირებულია, მაგრამ ვებსაიტი მკვდარია

გარკვეულიელექტრონული კომერციავებსაიტის მონიტორინგმა აჩვენა, რომ PHP-FPM პროცესი ნორმალურად მუშაობდა, თუმცა მომხმარებლები გადახდის შეფერხებებზე უჩიოდნენ.

ხანგრძლივი ძებნის შემდეგ აღმოვაჩინე, რომ მესამე მხარის ბიბლიოთეკაში მეხსიერების გაჟონვის გამო PHP პროცესი აქტიური იყო, მაგრამ მოთხოვნების დამუშავება სრულიად შეუძლებელი იყო.

ამ დროს, მხოლოდ ბუდის დეტექტირებაზე დაყრდნობა ზომბის პულსის შემოწმებას ჰგავს - ტვინს საერთოდ ვერ პოულობსიკვდილი.

💥 ორმაგი მკვლელობის მონიტორინგის გადაწყვეტა, რომელიც ძირს უთხრის კოგნიტურ ფუნქციას

გადააგდეთ ეს მოძველებული ერთგანზომილებიანი მონიტორინგი! საუკეთესო ექსპერტები იყენებენ პროცესის ფენის + ბიზნეს ფენის ორმაგი დახრჩობის სტრატეგიას.

Monit აკონტროლებს ვებსაიტის დინამიურ გვერდებს და აღმოაჩენს, რომ სტატუსის კოდი არ არის 200 და ავტომატურად გადატვირთავს php8.3-fpm-ს.

შემდეგი კონფიგურაცია საშუალებას მისცემს თქვენს სერვერს თავისით აღდგეს უფრო სწრაფად, ვიდრე ოპერაციული და ტექნიკური პერსონალი პრობლემების შემთხვევაში საწოლიდან ადგომას შეძლებს:

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"

🔍 პარამეტრებში დამალული ფატალური დეტალები

hostheaderპარამეტრები სიცოცხლის გადარჩენის თილისმებია CDN/დატვირთვის დაბალანსების სცენარებში. მათ გარეშე, ეს იგივეა, რაც ღამის ხედვის სათვალით ფარული გამანადგურებლის ძებნა - ვერ დაიჭერ Host-ის სათაურის არარსებობით გამოწვეულ შეჩერებულ მდგომარეობას.

for 3 cyclesბუფერული პერიოდის ეს დიზაინი იდეალურად გამორიცხავს ქსელის რხევით გამოწვეულ ცრუ დადებით შედეგებს. ეს იგივეა, რომ სათვალთვალო სისტემაზე ამორტიზატორი დაამონტაჟო, რათა ხელის კანკალით ბირთვული ღილაკი არ დააჭირო.

• ბოლოexec "/usr/bin/systemctl restart hestia"ეს არის უკიდურესი მკვლელი ნაბიჯი. როდესაც PHP-FPM ზედიზედ 5-ჯერ ვერ აღდგა, ცხრილი გადავატარე და მთელი ჰოსტინგის პანელი ხელახლა ჩავრთე. ეს ხრიკი მოვიპარე უოლ სტრიტის სავაჭრო სისტემის ამომრთველის მექანიზმიდან.

🚨 ტკივილისა და ტანჯვისგან მიღებული გაკვეთილები: 3 ხაფანგი, რამაც შეიძლება წარუმატებლობა გამოიწვიოს

  1. SSL სერტიფიკატის თაღლითობა: განახლების შემდეგ,protocol httpsმისი არჩაწერის გამო მონიტორინგი ყოველთვის არასწორად აფასებს მას, როგორც ნორმალურს. მოგვიანებით გავიგე, რომ Monit-ის ძველი ვერსია სტანდარტულად არ ამოწმებდა სერტიფიკატს, რის გამოც წლის ბოლოს მიღებული ბონუსი დავკარგე.
  2. შესვლის გვერდის 401 ხაფანგი: შესვლის გვერდის მონიტორინგისას დამატების დავიწყებაBasic Authenticationშედეგად, თითოეული ტესტი გადატვირთვას იწვევს. ეს ჰგავს ბაღის მორწყვას სახანძრო ჰიდრანტით - საკმარისად ძლიერი, მაგრამ სრულიად არასწორი
  3. ჟურნალი შავი ხვრელი: ერთხელ/var/log/monit.logროდესაც ზომა 50 გრამს მიაღწია, აღმოვაჩინეთ, რომ ვიღაც იდიოტმა აღმოჩენის პერიოდი 1 წამზე დააწესა. გახსოვდეთ, რომ მონიტორინგის ჟურნალი თავად არის ობიექტი, რომლის მონიტორინგიც საჭიროა!

💡 ვერიფიკაციისა და გამართვის ნაბიჯები

  1. კონფიგურაციის სინტაქსის შემოწმება:
    monit -t
    
  2. გადატვირთვის კონფიგურაცია:
    monit reload

საბოლოო ტესტი

  1. თვითმკვლელობის ტესტი: პირდაპირიkill -9დახურეთ PHP-FPM პროცესი და შეხედეთ აღდგენით ჩანაწერებს მონიტორინგის ჟურნალში. ზომბების შესახებ ფილმის ყურებას ჰგავს!
  2. შხამის ინექცია: განზრახ შეცვალეთ შესვლის გვერდი 503 სტატუსის კოდის დასაბრუნებლად და დააკვირდით, შეუძლია თუ არა მონიტორინგის სისტემას ზუსტად შეტევა. მე ამ მეთოდს „ციფრულ ვაქცინას“ ვუწოდებ - სისტემაში ვირუსის მცირე რაოდენობის წინასწარ შეყვანა მონიტორინგის სისტემის იმუნური პასუხის გასაძლიერებლად. როდესაც სიგნალიზაცია ველურად ციმციმებს და სერვისები თავისით იკურნება, თქვენ დაინახავთ, თუ როგორ იწვის კოდის სამყაროში გადარჩენის ყველაზე სექსუალური ნება!

იმედი ჩენ ვეილიანგის ბლოგი ( https://www.chenweiliang.com/ ) Monit-ის მიერ გაზიარებული სტატია, რომელიც ვებსაიტის დინამიურ გვერდს აკვირდება, აფიქსირებს, რომ სტატუსის კოდი არ არის 200 და ავტომატურად გადატვირთავს php8.3-fpm-ს, რაც შეიძლება თქვენთვის სასარგებლო იყოს.

კეთილი იყოს თქვენი მობრძანება ამ სტატიის ბმულის გასაზიარებლად:https://www.chenweiliang.com/cwl-32764.html

მეტი ფარული ხრიკის გასახსნელად🔑, კეთილი იყოს თქვენი მობრძანება ჩვენს Telegram არხზე!

გააზიარეთ და მოიწონეთ თუ მოგეწონათ! თქვენი გაზიარებები და მოწონებები ჩვენი მუდმივი მოტივაციაა!

 

评论

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. გამოყენებულია აუცილებელი ველები * ლეიბლი

გადაახვიეთ ზემოთ