VestaCP WEB సేవ "phpfcgid" టెంప్లేట్ని ఎంచుకున్న తర్వాత, పెద్ద సంఖ్యలో PHP-CGI ప్రక్రియలు మెమరీని త్వరగా అయిపోయేలా చేస్తాయి:
- సర్వర్ని పునఃప్రారంభించిన తర్వాత కొన్ని గంటలపాటు నా మెమరీ అయిపోయింది.
- మునుపు నిష్క్రియంగా ఉన్న PHP-CGI ప్రక్రియ చంపబడలేదు మరియు ఒక ప్రక్రియ దాదాపు 1 సబ్ప్రాసెస్లను అమలు చేస్తుంది, కనీసం 20M మెమరీని వినియోగించుకుంటుంది.
SSHలో ఉపయోగించబడింది htop
కమాండ్ (ఇన్స్టాలేషన్ అవసరం), మీరు ఈ స్థితిని వీక్షించవచ్చు ▼
మీరు htop కమాండ్ని ఉపయోగించినప్పుడు మీకు "-bash: htop: command not found" అనే దోష సందేశం వస్తే, దయచేసి పరిష్కారం కోసం ఈ ట్యుటోరియల్ చూడండి ▼
పెద్ద సంఖ్యలో 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 చైల్డ్ ప్రాసెస్ నిర్వహణ నిలిపివేయబడింది.
Apache యొక్క 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
- సవరణ తర్వాత, mod_fcgid మోడ్లో PHP సబ్ప్రాసెస్ మేనేజ్మెంట్ ఆఫ్ చేయబడుతుంది.
- PHP-CGI ప్రక్రియ ఇకపై చైల్డ్ ప్రాసెస్లను సృష్టించదు, ఇది చాలా మెమరీని ఆదా చేస్తుంది.
అలాగే, VestaCP నిష్క్రియ ప్రక్రియల కోసం ముగింపు విధానాన్ని సెట్ చేయలేదు:
- సిస్టమ్ రీబూట్ అయ్యే వరకు కొత్తగా అమలు చేయబడిన అన్ని PHP-CGI ప్రక్రియలు మెమరీని ఉపయోగిస్తూనే ఉంటాయి.
దీన్ని పరిష్కరించడానికి, mod_fcgid config ఫైల్ని జోడించండి /etc/httpd/conf.d/fcgid.conf
కింది సెట్టింగ్లను ▼లో జోడించండి
FcgidIdleTimeout 120
- 2 నిమిషాలు (120 సెకన్లు) నిష్క్రియంగా ఉన్న PHP-CGI ప్రక్రియలను స్వయంచాలకంగా చంపడానికి Apacheని సెట్ చేయండి.
సెటప్ పూర్తయిన తర్వాత, Apache సేవను పునఃప్రారంభించండి ▼
service httpd restart
సేవ పునఃప్రారంభించబడిన తర్వాత, HTOPలో గతంలో ప్రదర్శించబడిన వందలాది PHP-CGI ప్రక్రియలు ఇకపై ప్రదర్శించబడవు.
సాధారణంగా, ఒక వెస్టా CP వినియోగదారు కోసం ఒకే PHP-CGI ప్రక్రియ 30 నుండి 40M మెమరీని వినియోగిస్తుంది, ఇది పూర్తిగా సంతృప్తికరంగా ఉంటుందిlinuxహోస్ట్ అవసరాలు.
అందువలన,ఇంటర్నెట్ మార్కెటింగ్ప్రజలు బాగా చేయాలనుకుంటున్నారుSEO, Vesta CP మరియు టెంప్లేట్ల కాన్ఫిగరేషన్ను ఆప్టిమైజ్ చేయడం చాలా ముఖ్యం ^_^
మీరు VestaCP ప్యానెల్ ▼లో క్రింది ట్యుటోరియల్లను పరిశీలించవచ్చు
హోప్ చెన్ వీలియాంగ్ బ్లాగ్ ( https://www.chenweiliang.com/ ) "Optimizing VestaCP phpfcgid టెంప్లేట్ కాన్ఫిగరేషన్ ప్రాసెస్ మల్టిపుల్ మెమరీ ఎగ్జాషన్ 500 ఎర్రర్లు"ని భాగస్వామ్యం చేసారు, ఇది మీకు సహాయకరంగా ఉంటుంది.
ఈ కథనం యొక్క లింక్ను భాగస్వామ్యం చేయడానికి స్వాగతం:https://www.chenweiliang.com/cwl-735.html
తాజా నవీకరణలను పొందడానికి చెన్ వీలియాంగ్ బ్లాగ్ యొక్క టెలిగ్రామ్ ఛానెల్కు స్వాగతం!
📚 ఈ గైడ్లో భారీ విలువ ఉంది, 🌟ఇది ఒక అరుదైన అవకాశం, దీన్ని మిస్ చేయకండి! ⏰⌛💨
నచ్చితే లైక్ చేసి షేర్ చేయండి!
మీ భాగస్వామ్యం మరియు ఇష్టాలు మా నిరంతర ప్రేరణ!