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