VestaCP WEB सेवा द्वारा "phpfcgid" टेम्पलेट का चयन करने के बाद, बड़ी संख्या में PHP-CGI प्रक्रियाओं के कारण मेमोरी जल्दी समाप्त हो जाती है:
- सर्वर को पुनरारंभ करने के बाद मैं मूल रूप से कुछ घंटों के लिए स्मृति से बाहर हो रहा था।
- पहले की निष्क्रिय PHP-CGI प्रक्रिया समाप्त नहीं होती है, और एक प्रक्रिया लगभग 1 उप-प्रक्रियाओं को चलाती है, जिसमें कम से कम 20M मेमोरी की खपत होती है।
SSH . में प्रयुक्त htop
आदेश (स्थापना आवश्यक), आप इस स्थिति को देख सकते हैं
यदि आपको एक त्रुटि संदेश मिलता है "-बैश: htop: कमांड नहीं मिला" जब आप htop कमांड का उपयोग करते हैं, तो कृपया समाधान के लिए यह ट्यूटोरियल देखें
बड़ी संख्या में PHP-CGI प्रक्रियाओं के कारण मेमोरी जल्दी समाप्त हो जाती है। समस्या VestaCP में निहित हैCentOSPhpfcgid टेम्पलेट में, एक गैर-अनुकूलित कॉन्फ़िगरेशन का उपयोग किया जाता है।
- phpfcgid टेम्पलेट में VestaCP, 1 चाइल्ड प्रक्रियाओं को चलाने के लिए 20 PHP-CGI प्रक्रिया सेट करें।
निवेदन /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 चाइल्ड प्रोसेस प्रबंधन अक्षम है।
क्योंकि अपाचे के mod_fcgid मॉड्यूल में, PHP-CGI प्रक्रिया केवल एक अनुरोध का जवाब दे सकती है और एक समय में चल सकती है, PHP-CGI चाइल्ड प्रक्रिया बहुत अक्षम है।
इसलिए, PHP सबप्रोसेस प्रबंधन के लिए सेटिंग्स को सीधे अक्षम किया जाना चाहिए
PHP_FCGI_CHILDREN=0
उसी समय, यदि आपके पास पहले से ही एक उत्पन्न वर्चुअल होस्ट है, तो आपको सभी वेबसाइटों की कॉन्फ़िगरेशन फ़ाइलों को संशोधित करने की आवश्यकता है
/home/用户名/web/域名/cgi-bin/fcgi-starter
fcgi-स्टार्टर कॉन्फ़िगरेशन फ़ाइल खोलने के बाद, निम्नलिखित डालें:
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
- अपाचे को स्वचालित रूप से PHP-CGI प्रक्रियाओं को मारने के लिए सेट करें जो 2 मिनट (120 सेकंड) के लिए निष्क्रिय हैं।
सेटअप पूरा होने के बाद, अपाचे सेवा को पुनरारंभ करें
service httpd restart
सेवा के पुनरारंभ होने के बाद, सैकड़ों PHP-CGI प्रक्रियाएं जो पहले HTOP में प्रदर्शित की गई थीं, अब प्रदर्शित नहीं होंगी।
आमतौर पर, एकल Vesta CP उपयोगकर्ता के लिए एक PHP-CGI प्रक्रिया 30 से 40M मेमोरी की खपत करती है, जो पूरी तरह से संतोषजनक हैLinuxमेजबान आवश्यकताओं।
इसलिए,网络 营销लोग अच्छा करना चाहते हैंएसईओ, Vesta CP और टेम्प्लेट के कॉन्फ़िगरेशन को अनुकूलित करना बहुत महत्वपूर्ण है ^_^
आप VestaCP पैनल पर निम्नलिखित ट्यूटोरियल पर एक नज़र डाल सकते हैं
होप चेन वेइलियांग ब्लॉग ( https://www.chenweiliang.com/ ) साझा किया गया "VestaCP phpfcgid टेम्पलेट कॉन्फ़िगरेशन प्रक्रिया का अनुकूलन एकाधिक मेमोरी थकावट 500 त्रुटियां", जो आपके लिए सहायक है।
इस लेख का लिंक साझा करने के लिए आपका स्वागत है:https://www.chenweiliang.com/cwl-735.html
नवीनतम अपडेट प्राप्त करने के लिए चेन वेइलियांग के ब्लॉग के टेलीग्राम चैनल में आपका स्वागत है!
📚 इस गाइड में बहुत महत्व है, 🌟यह एक दुर्लभ अवसर है, इसे न चूकें! ⏰⌛💨
अच्छा लगे तो शेयर और लाइक करें!
आपका साझा करना और पसंद करना हमारी निरंतर प्रेरणा है!