VestaCP phpfcgid ٽيمپليٽ ترتيب ڏيڻ جو عمل ملٽي ميموري ختم ڪرڻ 500 غلطيون

VestaCP ويب سروس لاءِ "phpfcgid" ٽيمپليٽ چونڊڻ کان پوءِ، PHP-CGI عملن جي هڪ وڏي تعداد جلدي ياداشت کي ختم ڪري ڇڏيو.

  • مان بنيادي طور تي سرور کي ٻيهر شروع ڪرڻ کان پوءِ ڪجهه ڪلاڪن لاءِ ياداشت کان ٻاهر هلي رهيو هوس.
  • اڳوڻو بيڪار PHP-CGI عمل کي قتل نه ڪيو ويو آهي، ۽ هڪ عمل لڳ ڀڳ 1 ذيلي پروسيس هلندو آهي، گهٽ ۾ گهٽ 20M ميموري استعمال ڪندو آهي.

SSH ۾ استعمال ٿيل htop حڪم (انسٽاليشن گھربل)، توھان ھن حالت کي ڏسي سگھو ٿا ▼

VestaCP ويب سروس لاءِ "phpfcgid" ٽيمپليٽ چونڊڻ کان پوءِ، PHP-CGI عملن جي وڏي تعداد جلدي ياداشت کي ختم ڪري ڇڏيو.

جيڪڏهن توهان کي غلطي جو پيغام ملي ٿو "-bash: htop: command not found" جڏهن توهان htop ڪمانڊ استعمال ڪندا آهيو، مهرباني ڪري هي سبق ڏسو حل لاءِ ▼

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 چائلڊ پروسيس مئنيجمينٽ ( PHP_FCGI_CHILDREN ) کي هميشه mod_fcgid سان غير فعال ڪيو وڃي، جيڪو هڪ وقت ۾ صرف هڪ درخواست کي ايپليڪيشن پروسيس ڏانهن روٽ ڪندو جيڪو ان پيدا ڪيو آهي؛ ان ڪري، PHP پاران ٺاهيل ڪو به چائلڊ پروسيس مؤثر طريقي سان استعمال نه ڪيو ويندو. (اضافي طور تي، PHP چائلڊ پروسيس صحيح طريقي سان ختم نه ٿي سگهن ٿا.) ڊفالٽ طور تي، ۽ ماحولياتي متغير سيٽنگ PHP_FCGI_CHILDREN=0 سان ، PHP چائلڊ پروسيس مئنيجمينٽ غير فعال آهي.

ڇاڪاڻ ته Apache جي mod_fcgid ماڊل ۾، PHP-CGI عمل صرف هڪ درخواست جو جواب ڏئي سگهي ٿو ۽ هڪ وقت تي هلائي سگهي ٿو، PHP-CGI ٻار جو عمل تمام غير موثر آهي.

تنهن ڪري، PHP ذيلي پروسيس مينيجمينٽ لاء سيٽنگون سڌو سنئون بند ٿيڻ گهرجن ▼

PHP_FCGI_CHILDREN=0

ساڳئي وقت، جيڪڏهن توهان وٽ اڳ ۾ ئي ٺاهيل مجازي ميزبان آهي، توهان کي سڀني ويب سائيٽن جي ڪنفيگريشن فائلن کي تبديل ڪرڻ جي ضرورت آهي ▼

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

fcgi-starter configuration فائل کولڻ کان پوء، ھيٺيون داخل ڪريو ▼

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 عملن کي خودڪار طور تي ختم ڪرڻ لاءِ Apache سيٽ ڪريو جيڪي 2 منٽ (120 سيڪنڊ) لاءِ بيڪار آهن.

سيٽ اپ مڪمل ٿيڻ کان پوء، Apache سروس کي ٻيهر شروع ڪريو ▼

service httpd restart

سروس جي ٻيهر شروع ٿيڻ کان پوء، سوين PHP-CGI پروسيس جيڪي اڳ ۾ ڏيکاريا ويا هئا HTOP ۾ هاڻي نه ڏيکاريا ويندا.

عام طور تي، هڪ ويسٽا سي پي استعمال ڪندڙ لاءِ هڪ واحد PHP-CGI عمل 30 کان 40 ايم بي ميموري استعمال ڪري ٿو، جيڪو لينڪس هوسٽ لاءِ ڪافي کان وڌيڪ آهي.

تنهن ڪري، ويسٽا مواد ۽ ٽيمپليٽس جي ترتيب کي بهتر بڻائڻ آن لائن مارڪيٽرن لاءِ اهم آهي جيڪي SEO ۾ بهترين ٿيڻ چاهين ٿا .

توهان هيٺ ڏنل سبق تي هڪ نظر وٺي سگهو ٿا VestaCP پينل ▼

اميد آهي ته، چن ويليانگ جي بلاگ ( https://www.chenweiliang.com/ ) تي شيئر ڪيل مضمون "'Multiple Processes, Memory Exhaustion 500 Error' لاءِ VestaCP phpfcgid ٽيمپليٽ ڪنفيگريشن کي بهتر بڻايو" توهان لاءِ مددگار ثابت ٿيندو.

هن مضمون جي لنڪ شيئر ڪرڻ لاءِ آزاد محسوس ڪريو: https://www.chenweiliang.com/cwl-735.html

وڌيڪ لڪيل چالون کولڻ لاءِ🔑، اسان جي ٽيليگرام چينل ۾ شامل ٿيڻ لاءِ ڀليڪار!

شئير ڪريو ۽ پسند ڪريو جيڪڏھن توھان کي پسند اچي! توهان جا حصا ۽ پسند اسان جي مسلسل حوصلا آهن!

 

发表 评论

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

جي ويڙھيء وانگي امروٽي