VestaCP بعد أن تحدد خدمة WEB قالب "phpfcgid" ، يتسبب عدد كبير من عمليات PHP-CGI في استنفاد الذاكرة بسرعة:
- لقد نفدت الذاكرة بشكل أساسي لبضع ساعات بعد إعادة تشغيل الخادم.
- لم يتم إنهاء عملية PHP-CGI الخاملة سابقًا ، وتقوم عملية واحدة بتشغيل ما يقرب من 1 عملية فرعية ، وتستهلك ما لا يقل عن 20 ميغا بايت من الذاكرة.
تستخدم في SSH htop
الأمر (التثبيت مطلوب) ، يمكنك عرض هذه الحالة ▼
إذا تلقيت رسالة خطأ "-bash: htop: الأمر غير موجود" عند استخدام الأمر htop ، يرجى الاطلاع على هذا البرنامج التعليمي الخاص بالحل ▼
يتسبب عدد كبير من عمليات PHP-CGI في استنفاد الذاكرة بسرعة ، وتكمن المشكلة في VestaCPCentOSفي قالب phpfcgid ، يتم استخدام تكوين غير محسن.
- VestaCP في قالب phpfcgid ، قم بتعيين عملية PHP-CGI واحدة لتشغيل ما يصل إلى 1 عملية فرعية.
طلب /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh
السطر 13 من الملف:
export PHP_FCGI_CHILDREN=20
ومع ذلك ، فإن مثل هذا الإعداد ينتهك تحذير Apache في وثائق إدارة العمليات الفرعية لـ PHP:
إدارة عمليات PHP الفرعية (PHP_FCGI_CHILDREN) يجب دائمًا تعطيله باستخدام mod_fcgid ، والذي سيوجه طلبًا واحدًا فقط في كل مرة إلى عمليات التطبيق التي تم إنتاجها ؛ وبالتالي ، لن يتم استخدام أي عمليات فرعية تم إنشاؤها بواسطة PHP بشكل فعال. (بالإضافة إلى ذلك ، قد لا يتم إنهاء عمليات PHP الفرعية بشكل صحيح .) بشكل افتراضي ، ومع إعداد متغير البيئة PHP_FCGI_CHILDREN = 0، تم تعطيل إدارة عملية PHP الفرعية.
نظرًا لأنه في الوحدة النمطية mod_fcgid الخاصة بـ Apache ، يمكن لعملية PHP-CGI الاستجابة لطلب واحد فقط وتشغيلها في كل مرة ، فإن عملية PHP-CGI الفرعية غير فعالة للغاية.
لذلك ، يجب تعطيل إعدادات إدارة العمليات الفرعية لـ PHP مباشرة ▼
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 /etc/httpd/conf.d/fcgid.conf
أضف الإعدادات التالية في ▼
FcgidIdleTimeout 120
- اضبط Apache ليقتل تلقائيًا عمليات PHP-CGI التي تكون خاملة لمدة دقيقتين (2 ثانية).
بعد اكتمال الإعداد ، أعد تشغيل خدمة Apache ▼
service httpd restart
بعد إعادة تشغيل الخدمة ، لن يتم عرض مئات عمليات PHP-CGI التي تم عرضها مسبقًا في HTOP.
عادةً ما تستهلك عملية PHP-CGI واحدة لمستخدم واحد من طراز Vesta CP ما بين 30 إلى 40 ميجا من الذاكرة ، وهو أمر مُرضٍ تمامًالينكسمتطلبات المضيف.
因此،网络 营销الناس يريدون القيام بعمل جيدتحسين محركات البحث، من المهم جدًا تحسين تكوين Vesta CP والقوالب ^ _ ^
يمكنك إلقاء نظرة على البرامج التعليمية التالية على لوحة VestaCP ▼
في السابق ، شاركت مدونة Chen Weiliang برنامجًا تعليميًا حول تثبيت وتكوين Monit على CentOS 6 ▼
ومع ذلك ، فإن تكوين برنامج مراقبة Monit في CentOS 7 يختلف إلى حد ما عن ذلك في CentOS 6 ، وهو ليس هو نفسه تمامًا.اذا أنت……مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ ) شارك "تحسين عملية تكوين قالب VestaCP phpfcgid ، استنفاد 500 خطأ من الذاكرة المتعددة" ، وهو أمر مفيد لك.
مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-735.html
مرحبًا بك في قناة Telegram الخاصة بمدونة Chen Weiliang للحصول على آخر التحديثات!
📚 يحتوي هذا الدليل على قيمة كبيرة، 🌟هذه فرصة نادرة، لا تفوتها! ⏰⌛💨
شارك و اعجبك اذا اردت
مشاركتك وإعجاباتك هي دافعنا المستمر!