ఎన్ జిఐఎన్ ఎక్స్ లో ప్రత్యేక పిహెచ్ పి-ఎఫ్ పిఎమ్ పూల్స్ ఎలా ఏర్పాటు చేయాలి
ప్రచురణ: 15 ఫిబ్రవరి, 2025 11:54:41 AM UTCకి
చివరిగా నవీకరించబడింది: 12 జనవరి, 2026 8:30:16 AM UTCకి
ఈ వ్యాసంలో, బహుళ PHP-FPM పూల్స్ను అమలు చేయడానికి మరియు FastCGI ద్వారా NGINXని వాటికి కనెక్ట్ చేయడానికి అవసరమైన కాన్ఫిగరేషన్ దశలను నేను పరిశీలిస్తాను, ఇది వర్చువల్ హోస్ట్ల మధ్య ప్రాసెస్ విభజన మరియు ఐసోలేషన్ను అనుమతిస్తుంది.
How to Set Up Separate PHP-FPM Pools in NGINX
ఈ పోస్ట్లోని సమాచారం ఉబుంటు సర్వర్ 14.04 x64 పై నడుస్తున్న NGINX 1.4.6 మరియు PHP-FPM 5.5.9 పై ఆధారపడి ఉంటుంది. ఇది ఇతర వెర్షన్లకు చెల్లుబాటు కావచ్చు లేదా కాకపోవచ్చు. (నవీకరణ: ఉబుంటు సర్వర్ 24.04, PHP-FPM 8.3 మరియు NGINX 1.24.0 నాటికి, ఈ పోస్ట్లోని అన్ని సూచనలు ఇప్పటికీ పనిచేస్తాయని నేను నిర్ధారించగలను)
ఒకే పూల్లో అన్నింటినీ అమలు చేయడం కంటే బహుళ PHP-FPM చైల్డ్ ప్రాసెస్ పూల్లను ఏర్పాటు చేయడం వల్ల అనేక ప్రయోజనాలు ఉన్నాయి. భద్రత, విభజన/ఐసోలేషన్ మరియు వనరుల నిర్వహణ కొన్ని ప్రధానమైనవిగా గుర్తుకు వస్తాయి.
మీ ప్రేరణ ఏదైనా, ఈ పోస్ట్ మీకు దీన్ని చేయడంలో సహాయపడుతుంది :-)
భాగం 1 – కొత్త PHP-FPM పూల్ని సెటప్ చేయండి
ముందుగా, మీరు PHP-FPM దాని పూల్ కాన్ఫిగరేషన్లను నిల్వ చేసే డైరెక్టరీని గుర్తించాలి. ఉబుంటు 14.04లో, ఇది డిఫాల్ట్గా /etc/php5/fpm/pool.d. అక్కడ బహుశా ఇప్పటికే www.conf అనే ఫైల్ ఉంది, ఇది డిఫాల్ట్ పూల్ కోసం కాన్ఫిగరేషన్ను కలిగి ఉంటుంది. మీరు ఆ ఫైల్ను ఇంతకు ముందు చూడకపోతే, మీరు దాని ద్వారా వెళ్లి మీ సెటప్ కోసం దానిలోని సెట్టింగ్లను సర్దుబాటు చేయాలి ఎందుకంటే డిఫాల్ట్లు చాలా తక్కువ శక్తి ఉన్న సర్వర్ కోసం ఉంటాయి, కానీ ప్రస్తుతానికి దాని కాపీని తయారు చేయండి, తద్వారా మనం మొదటి నుండి ప్రారంభించాల్సిన అవసరం లేదు:
అయితే, "mypool" స్థానంలో మీ పూల్ ని ఏ పేరుతో పిలవాలనుకుంటున్నారో దానితో భర్తీ చేయండి.
ఇప్పుడు నానో లేదా మీకు నచ్చిన టెక్స్ట్ ఎడిటర్ని ఉపయోగించి కొత్త ఫైల్ను తెరిచి, మీ ఉద్దేశ్యానికి తగినట్లుగా దాన్ని సర్దుబాటు చేయండి. మీరు బహుశా చైల్డ్ ప్రాసెస్ నంబర్లను మరియు పూల్ ఏ యూజర్ మరియు గ్రూప్ కింద నడుస్తుందో సర్దుబాటు చేయాలనుకోవచ్చు, కానీ మీరు ఖచ్చితంగా మార్చాల్సిన రెండు సెట్టింగ్లు పూల్ పేరు మరియు అది వింటున్న సాకెట్, లేకుంటే అది ఇప్పటికే ఉన్న పూల్తో విభేదిస్తుంది మరియు విషయాలు పనిచేయడం ఆగిపోతాయి.
పూల్ పేరు ఫైల్ పైభాగంలో ఉంది, చదరపు బ్రాకెట్లలో జతచేయబడింది. డిఫాల్ట్గా ఇది [www]. దీన్ని మీకు కావలసిన దానికి మార్చండి; మీరు కాన్ఫిగరేషన్ ఫైల్ పేరు పెట్టినట్లే నేను సూచిస్తున్నాను, కాబట్టి ఈ ఉదాహరణ కొరకు దానిని [mypool] గా మార్చండి. మీరు దానిని మార్చకపోతే, PHP-FPM ఆ పేరుతో మొదటి కాన్ఫిగరేషన్ ఫైల్ను మాత్రమే లోడ్ చేస్తుందని అనిపిస్తుంది, ఇది విషయాలను విచ్ఛిన్నం చేసే అవకాశం ఉంది.
తరువాత మీరు వింటున్న సాకెట్ లేదా చిరునామాను మార్చాలి, ఇది లిజెన్ డైరెక్టివ్ ద్వారా నిర్వచించబడుతుంది. డిఫాల్ట్గా, PHP-FPM Unix సాకెట్లను ఉపయోగిస్తుంది కాబట్టి మీ లిజెన్ డైరెక్టివ్ బహుశా ఇలా కనిపిస్తుంది:
మీరు దానిని మీకు కావలసిన చెల్లుబాటు అయ్యే పేరుకు మార్చుకోవచ్చు, కానీ మళ్ళీ, కాన్ఫిగరేషన్ ఫైల్ పేరుకు సమానమైన దానితో అతుక్కోవాలని నేను సూచిస్తున్నాను, కాబట్టి మీరు దానిని ఉదాహరణకు ఇలా సెట్ చేయవచ్చు:
సరే, ఫైల్ను సేవ్ చేసి టెక్స్ట్ ఎడిటర్ నుండి నిష్క్రమించండి.
పార్ట్ 2 – NGINX వర్చువల్ హోస్ట్ కాన్ఫిగరేషన్ను నవీకరించండి
ఇప్పుడు మీరు కొత్త పూల్కి మార్చాలనుకుంటున్న FastCGI కాన్ఫిగరేషన్తో NGINX వర్చువల్ హోస్ట్ ఫైల్ను తెరవాలి - లేదా బదులుగా, కొత్త సాకెట్కి కనెక్ట్ చేయండి.
ఉబుంటు 14.04 లో డిఫాల్ట్గా, ఇవి /etc/nginx/sites-available కింద నిల్వ చేయబడతాయి, కానీ మరెక్కడా నిర్వచించవచ్చు. మీ వర్చువల్ హోస్ట్ కాన్ఫిగరేషన్లు ఎక్కడ ఉన్నాయో మీకు బాగా తెలుసు ;-)
మీకు ఇష్టమైన టెక్స్ట్ ఎడిటర్లో సంబంధిత కాన్ఫిగరేషన్ ఫైల్ను తెరిచి, PHP-FPM సాకెట్ను నిర్వచించే fastcgi_pass డైరెక్టివ్ (ఇది స్థాన సందర్భంలో ఉండాలి) కోసం చూడండి. మీరు ఈ విలువను మొదటి దశలో చేసిన కొత్త PHP-FPM పూల్ కాన్ఫిగరేషన్కు సరిపోయేలా మార్చాలి, కాబట్టి మా ఉదాహరణను కొనసాగిస్తే మీరు దీన్ని ఇలా మారుస్తారు:
fastcgi_pass యూనిక్స్:/var/run/php5-fpm-mypool.sock;
తరువాత ఆ ఫైల్ ని కూడా సేవ్ చేసి క్లోజ్ చేయండి. మీరు ఇప్పుడు దాదాపు పూర్తి చేసారు.
భాగం 3 – PHP-FPM మరియు NGINX లను పునఃప్రారంభించండి
మీరు చేసిన కాన్ఫిగరేషన్ మార్పులను వర్తింపజేయడానికి, PHP-FPM మరియు NGINX రెండింటినీ పునఃప్రారంభించండి. పునఃప్రారంభించడానికి బదులుగా మళ్లీ లోడ్ చేయడం సరిపోవచ్చు, కానీ ఏ సెట్టింగ్లు మార్చబడ్డాయనే దానిపై ఆధారపడి ఇది కొంచెం హిట్ మరియు మిస్ అవుతుందని నేను భావిస్తున్నాను. ప్రత్యేక సందర్భంలో, పాత PHP-FPM చైల్డ్ ప్రాసెస్లు వెంటనే చనిపోవాలని నేను కోరుకున్నాను, కాబట్టి PHP-FPMని పునఃప్రారంభించడం అవసరం, కానీ NGINX కోసం రీలోడ్ సరిపోతుంది. దీన్ని మీరే ప్రయత్నించండి.
sudo service nginx restart
అంతే, మీరు పూర్తి చేసారు. మీరు ప్రతిదీ సరిగ్గా చేస్తే, మీరు సవరించిన వర్చువల్ హోస్ట్ ఇప్పుడు కొత్త PHP-FPM పూల్ను ఉపయోగిస్తూ ఉండాలి మరియు చైల్డ్ ప్రాసెస్లను ఏ ఇతర వర్చువల్ హోస్ట్లతో పంచుకోకూడదు.
