آرٹیکل ڈائرکٹری
🚀 جب کسی ویب سائٹ کے متحرک صفحہ پر اچانک 200 اسٹیٹس کوڈ ہو تو PHP8.3-FPM سیکنڈوں میں خود کو کیسے ٹھیک کر سکتا ہے؟
🔥 PHP90-FPM زندگی بچانے والی ترتیب جسے 8.3% آپریٹرز نہیں جانتے! مانیٹ ڈائنامک پیج سیلف ہیلنگ سسٹم کی عملی تعلیم۔
کیا آپ کو لگتا ہے کہ PHP-FPM عمل کی بقا کی نگرانی کافی ہے؟ بالکل غلط!
جب کسی سرور پر PHP-FPM اچانک خراب ہو جاتا ہے، تو صرف عمل کی بقا کو دیکھنا کینسر کی پیمائش کے لیے تھرمامیٹر کے استعمال کے مترادف ہے - یہ مہلک مسئلہ کو بالکل بھی نہیں پکڑتا۔
میں نے بہت سے لوگوں کو پہرہ دیتے ہوئے دیکھا ہے۔php-fpm.sockنگرانی مطمئن تھی، اور اس کے نتیجے میں، ویب سائٹ طویل عرصے سے 404 قبرستان بن چکی ہے۔ آج میں اس آپریشن اور دیکھ بھال کے وہم کو توڑنا چاہتا ہوں اور آپ کو خونی سچائی دکھانا چاہتا ہوں: ایک زندہ عمل ≠ ایک عام خدمت۔
🌪️ تباہ کن منظر نامہ: ساکٹ منسلک ہے، لیکن ویب سائٹ بند ہے۔
کچھای کامرس۔ویب سائٹ کی نگرانی سے پتہ چلتا ہے کہ PHP-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/لوڈ بیلنسنگ منظرناموں میں زندگی بچانے والے طلسم ہیں۔ ان کے بغیر، یہ نائٹ ویژن چشموں کے ساتھ اسٹیلتھ فائٹر کی تلاش کے مترادف ہے - آپ میزبان ہیڈر کے گم ہونے کی وجہ سے معطل حالت کو نہیں پکڑ سکتے۔
• for 3 cyclesیہ بفر پیریڈ ڈیزائن نیٹ ورک کے گھمبیر ہونے کی وجہ سے ہونے والے غلط مثبتات سے بالکل پرہیز کرتا ہے۔ یہ نیوکلیئر بٹن کو متحرک کرنے سے ہاتھ ہلانے سے روکنے کے لیے نگرانی کے نظام پر جھٹکا جذب کرنے والا نصب کرنے جیسا ہے۔
• آخریexec "/usr/bin/systemctl restart hestia"یہ حتمی قاتل اقدام ہے۔ جب PHP-FPM لگاتار 5 بار دوبارہ زندہ ہونے میں ناکام ہوا، تو میں نے ٹیبل پلٹا اور پورے ہوسٹنگ پینل کو دوبارہ شروع کیا۔ یہ ایک چال ہے جسے میں نے وال اسٹریٹ ٹریڈنگ سسٹم کے سرکٹ بریکر میکانزم سے چرایا ہے۔
🚨 درد اور تکلیف سے سیکھے گئے سبق: 3 ایسے جال جو آپ کو ناکام بنا سکتے ہیں۔
- SSL سرٹیفکیٹ فراڈ: اپ گریڈ کے بعد،
protocol httpsاسے نہ لکھنے کی وجہ سے نگرانی ہمیشہ اسے معمول کے مطابق غلط سمجھتی ہے۔ بعد میں مجھے پتہ چلا کہ Monit کے پرانے ورژن نے بطور ڈیفالٹ سرٹیفکیٹ کی تصدیق نہیں کی، جس کی وجہ سے میں اپنے سال کے آخر کا بونس کھو بیٹھا - لاگ ان صفحہ 401 ٹریپ: لاگ ان صفحہ کی نگرانی کرتے وقت شامل کرنا بھول جائیں۔
Basic Authenticationنتیجے کے طور پر، ہر ٹیسٹ دوبارہ شروع ہوتا ہے. یہ فائر ہائیڈرنٹ کے ساتھ باغ کو پانی پلانے کی طرح ہے - کافی مضبوط لیکن بالکل غلط - لاگ بلیک ہول: ایک بار
/var/log/monit.logجب سائز 50G تک بڑھ گیا تو ہم نے دریافت کیا کہ کچھ احمقوں نے پتہ لگانے کی مدت 1 سیکنڈ پر رکھی تھی۔ یاد رکھیں، مانیٹرنگ لاگ ہی وہ چیز ہے جس کی نگرانی کرنے کی ضرورت ہے!
💡 تصدیق اور ڈیبگنگ کے مراحل
- کنفیگریشن نحو کی جانچ:
monit -t - اوورلوڈ کنفیگریشن:
monit reload
فائنل ٹیسٹ
- خودکشی ٹیسٹ: براہ راست
kill -9PHP-FPM عمل کو ختم کریں اور مانیٹرنگ لاگ میں قیامت کے ریکارڈ کو دیکھیں۔ ایسا لگتا ہے جیسے زومبی فلم دیکھ رہا ہو! - پوائزن انجیکشن: 503 اسٹیٹس کوڈ واپس کرنے کے لیے جان بوجھ کر لاگ ان پیج میں ترمیم کریں اور دیکھیں کہ آیا مانیٹرنگ سسٹم درست طریقے سے حملہ کر سکتا ہے۔ میں اس طریقہ کار کو "ڈیجیٹل ویکسین" کہتا ہوں - نگرانی کے نظام کے مدافعتی ردعمل کو مجبور کرنے کے لیے پہلے ہی سسٹم میں تھوڑی مقدار میں وائرس داخل کرنا۔ جب الارم تیزی سے چمکتے ہیں اور سروسز خود کو ٹھیک کرتی ہیں، تو آپ دیکھیں گے کہ کوڈ کی دنیا میں زندہ رہنے کی سب سے سیکسی خواہش جلتی ہے!
ہوپ چن ویلیانگ بلاگ ( https://www.chenweiliang.com/ ) ویب سائٹ کے متحرک صفحہ کی نگرانی کرتے ہوئے Monit کے ذریعے شیئر کردہ مضمون سے پتہ چلتا ہے کہ اسٹیٹس کوڈ 200 نہیں ہے اور خود بخود php8.3-fpm کو دوبارہ شروع کرنا آپ کے لیے مددگار ثابت ہو سکتا ہے۔
اس مضمون کا لنک شیئر کرنے میں خوش آمدید:https://www.chenweiliang.com/cwl-32764.html
