VestaCP phpfcgid ٹیمپلیٹ کنفیگریشن پروسیس کو آپٹمائز کرنا ملٹی میموری ایگزاشن 500 غلطیاں

VestaCP ویب سروس کے لیے "phpfcgid" ٹیمپلیٹ کو منتخب کرنے کے بعد، PHP-CGI کی ایک بڑی تعداد نے میموری کو تیزی سے ختم کر دیا۔

  • سرور کو دوبارہ شروع کرنے کے بعد میں بنیادی طور پر کچھ گھنٹوں کے لئے میموری سے باہر چل رہا تھا۔
  • پہلے کا بیکار PHP-CGI عمل ختم نہیں ہوتا ہے، اور ایک عمل تقریباً 1 ذیلی عمل چلاتا ہے، جس میں کم از کم 20M میموری استعمال ہوتی ہے۔

SSH میں استعمال کیا جاتا ہے۔ htop کمانڈ (انسٹالیشن درکار ہے)، آپ اس اسٹیٹس کو دیکھ سکتے ہیں ▼

VestaCP ویب سروس کے لیے "phpfcgid" ٹیمپلیٹ کو منتخب کرنے کے بعد، بڑی تعداد میں PHP-CGI پروسیسز نے میموری کو تیزی سے ختم کر دیا۔

اگر آپ کو htop کمانڈ استعمال کرنے پر "-bash: htop: command not found" ایک غلطی کا پیغام ملتا ہے، تو براہ کرم حل کے لیے یہ ٹیوٹوریل دیکھیں ▼

بڑی تعداد میں PHP-CGI عمل کی وجہ سے میموری تیزی سے ختم ہو جاتی ہے۔ مسئلہ اس حقیقت میں ہے کہ VestaCP CentOS phpfcgid ٹیمپلیٹ میں ایک غیر موزوں ترتیب کا استعمال کرتا ہے ۔

  • VestaCP phpfcgid ٹیمپلیٹ میں، 1 PHP-CGI عمل کو 20 چائلڈ پروسیس تک چلانے کے لیے سیٹ کریں۔

参阅 参阅 /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh فائل کی 13 لائن:

export PHP_FCGI_CHILDREN=20

تاہم، اس طرح کا سیٹ اپ پی ایچ پی سب پروسیس مینجمنٹ دستاویزات میں اپاچی کی وارننگ کی خلاف ورزی کرتا ہے:

PHP چائلڈ پروسیس مینجمنٹ ( PHP_FCGI_CHILDREN ) کو ہمیشہ mod_fcgid کے ساتھ غیر فعال کیا جانا چاہئے، جو ایک وقت میں صرف ایک درخواست کو درخواست کے پروسیس تک لے جائے گا جو اس نے پیدا کیا ہے؛ اس طرح، پی ایچ پی کے ذریعہ بنائے گئے کسی بھی چائلڈ پروسیس کو مؤثر طریقے سے استعمال نہیں کیا جائے گا۔ (اس کے علاوہ، پی ایچ پی چائلڈ پروسیسز کو صحیح طریقے سے ختم نہیں کیا جا سکتا ہے۔) بطور ڈیفالٹ، اور ماحول کے متغیر کی ترتیب کے ساتھ PHP_FCGI_CHILDREN=0 ، PHP چائلڈ پروسیس مینجمنٹ کو غیر فعال کر دیا گیا ہے۔

کیونکہ Apache کے mod_fcgid ماڈیول میں، PHP-CGI عمل صرف ایک درخواست کا جواب دے سکتا ہے اور ایک وقت میں چل سکتا ہے، PHP-CGI چائلڈ پروسیس بہت غیر موثر ہے۔

لہذا، پی ایچ پی کے ذیلی عمل کے انتظام کی ترتیبات کو براہ راست غیر فعال کر دیا جانا چاہیے ▼

PHP_FCGI_CHILDREN=0

ایک ہی وقت میں، اگر آپ کے پاس پہلے سے تیار کردہ ورچوئل ہوسٹ ہے، تو آپ کو تمام ویب سائٹس کی کنفیگریشن فائلوں میں ترمیم کرنے کی ضرورت ہے ▼

/home/用户名/web/域名/cgi-bin/fcgi-starter

fcgi-starter کنفیگریشن فائل کو کھولنے کے بعد، درج ذیل ▼ داخل کریں۔

export PHP_FCGI_CHILDREN=20

▼ میں ترمیم کریں۔

export PHP_FCGI_CHILDREN=0
  • ترمیم کے بعد، PHP سب پروسیس مینجمنٹ کو mod_fcgid موڈ میں بند کر دیا جائے گا۔
  • PHP-CGI عمل اب بچوں کے عمل کو جنم نہیں دے گا، جس سے بہت زیادہ میموری محفوظ ہو سکتی ہے۔

نیز، VestaCP بیکار عمل کے لیے ختم کرنے کا طریقہ کار متعین نہیں کرتا ہے:

  • تمام نئے PHP-CGI عمل اس وقت تک میموری کا استعمال کرتے رہیں گے جب تک کہ سسٹم کو دوبارہ شروع نہ کیا جائے۔

اسے ٹھیک کرنے کے لیے، صرف mod_fcgid config فائل شامل کریں۔ /etc/httpd/conf.d/fcgid.conf ▼ میں درج ذیل ترتیبات شامل کریں۔

FcgidIdleTimeout 120
  • اپاچی کو PHP-CGI پروسیسز کو خود بخود ختم کرنے کے لیے سیٹ کریں جو 2 منٹ (120 سیکنڈ) کے لیے بیکار ہیں۔

سیٹ اپ مکمل ہونے کے بعد، اپاچی سروس کو دوبارہ شروع کریں ▼

service httpd restart

سروس کے دوبارہ شروع ہونے کے بعد، سیکڑوں PHP-CGI عمل جو پہلے HTOP میں دکھائے گئے تھے اب ظاہر نہیں ہوں گے۔

عام طور پر، ایک واحد Vesta CP صارف کے لیے ایک واحد PHP-CGI عمل 30 سے ​​40 MB میموری استعمال کرتا ہے، جو کہ لینکس ہوسٹ کے لیے کافی سے زیادہ ہے۔

لہذا، Vesta کے مواد اور ٹیمپلیٹس کی ترتیب کو بہتر بنانا آن لائن مارکیٹرز کے لیے بہت ضروری ہے جو SEO میں سبقت حاصل کرنا چاہتے ہیں۔

آپ VestaCP پینل ▼ پر درج ذیل ٹیوٹوریلز پر ایک نظر ڈال سکتے ہیں۔

امید ہے کہ مضمون "VestaCP phpfcgid ٹیمپلیٹ کنفیگریشن کو بہتر بنانا 'متعدد عمل، میموری ایگزاشن 500 ایرر'" آپ کے لیے مددگار ثابت ہوگا ۔

اس مضمون کا لنک بلا جھجھک شیئر کریں: https://www.chenweiliang.com/cwl-735.html

مزید پوشیدہ چالوں کو کھولنے کے لیے، ہمارے ٹیلیگرام چینل میں شامل ہونے میں خوش آمدید!

پسند آئے تو شیئر اور لائک کریں! آپ کے شیئرز اور لائکس ہماری مسلسل حوصلہ افزائی ہیں!

 

评论 评论

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

میں سکرال اوپر