एनजीआयएनएक्समध्ये स्वतंत्र पीएचपी-एफपीएम पूल कसे स्थापित करावे
प्रकाशित: १५ फेब्रुवारी, २०२५ रोजी ११:५४:३९ AM UTC
या लेखात, मी एकाधिक पीएचपी-एफपीएम पूल चालविण्यासाठी आणि एनजीआयएनएक्सला फास्टसीजीआयद्वारे त्यांच्याशी जोडण्यासाठी आवश्यक कॉन्फिगरेशन चरणांवर जातो, ज्यामुळे आभासी यजमानांमध्ये प्रक्रिया पृथक्करण आणि विलगीकरण होऊ शकते.
How to Set Up Separate PHP-FPM Pools in NGINX
या पोस्टमधील माहिती उबंटू सर्व्हर 14.04 x 64 वर चालणार् या एनजीआयएनएक्स 1.4.6 आणि पीएचपी-एफपीएम 5.5.9 वर आधारित आहे. हे इतर आवृत्त्यांसाठी वैध असू शकते किंवा असू शकत नाही. (अद्यतन: मी पुष्टी करू शकतो की उबंटू सर्व्हर 24.04, पीएचपी-एफपीएम 8.3 आणि एनजीआयएनएक्स 1.24.0 नुसार, या पोस्टमधील सर्व सूचना अद्याप कार्य करतात)
एकाच पूलमध्ये सर्व काही चालविण्याऐवजी एकाधिक पीएचपी-एफपीएम बाल प्रक्रिया पूल स्थापित करण्याचे बरेच फायदे आहेत. सुरक्षा, पृथक्करण/विलगीकरण आणि संसाधन व्यवस्थापन हे काही प्रमुख मुद्दे लक्षात येतात.
तुमची प्रेरणा काहीही असली तरी ही पोस्ट तुम्हाला मदत करेल :-)
भाग 1 - नवीन पीएचपी-एफपीएम पूल सेट करा
प्रथम, आपल्याला निर्देशिका शोधण्याची आवश्यकता आहे जिथे पीएचपी-एफपीएम त्याचे पूल कॉन्फिगरेशन संग्रहित करते. उबंटू 14.04 वर, हे डिफॉल्टनुसार / ईटीसी / पीएचपी 5 / एफपीएम / पूल.डी आहे. तेथे कदाचित डब्ल्यूडब्ल्यूडब्ल्यू.कॉन्फ नावाची एक फाईल आधीच आहे, जी डिफॉल्ट पूलसाठी कॉन्फिगरेशन ठेवते. जर आपण त्या फाईलकडे आधी पाहिले नसेल तर आपण त्याद्वारे जावे आणि आपल्या सेटअपसाठी त्यातील सेटिंग्ज मध्ये बदल करावा कारण डिफॉल्ट बर्यापैकी अंडरपॉवर सर्व्हरसाठी आहेत, परंतु सध्या फक्त त्याची एक प्रत तयार करा जेणेकरून आम्हाला शून्यापासून प्रारंभ करण्याची आवश्यकता नाही:
अर्थात, "मायपूल" ऐवजी आपल्याला आपल्या पूलला जे म्हणायचे आहे ते वापरा.
आता नॅनो किंवा आपल्याला आवडेल त्या टेक्स्ट एडिटरचा वापर करून नवीन फाईल उघडा आणि आपल्या हेतूनुसार समायोजित करा. आपण कदाचित मुलाच्या प्रक्रिया क्रमांकांमध्ये बदल करू इच्छित असाल आणि शक्यतो पूल कोणत्या वापरकर्ता आणि गटाखाली चालतो, परंतु आपण ज्या दोन सेटिंग्ज पूर्णपणे बदलल्या पाहिजेत त्या म्हणजे पूलचे नाव आणि ते ऐकत असलेले सॉकेट, अन्यथा ते विद्यमान पूलशी संघर्ष करेल आणि गोष्टी कार्य करणे थांबवतील.
चौकोनी कोष्टकात बंदिस्त असलेल्या फाईलच्या वरच्या बाजूला तलावाचे नाव आहे. डिफॉल्टनुसार हे [डब्ल्यू] आहे. तुम्हाला हवं ते बदलून टाका; मी तेच सुचवतो जसे आपण कॉन्फिगरेशन फाईलचे नाव ठेवले आहे, म्हणून या उदाहरणासाठी ते [मायपूल] मध्ये बदला. आपण ते बदलले नाही तर असे दिसते की पीएचपी-एफपीएम केवळ त्या नावासह पहिली कॉन्फिगरेशन फाइल लोड करेल, ज्यामुळे गोष्टी तुटण्याची शक्यता आहे.
त्यानंतर आपल्याला आपण ऐकत असलेले सॉकेट किंवा पत्ता बदलण्याची आवश्यकता आहे, जी ऐकण्याच्या निर्देशाद्वारे परिभाषित केली जाते. डिफॉल्टनुसार, पीएचपी-एफपीएम युनिक्स सॉकेट्स वापरते जेणेकरून आपले ऐकण्याचे निर्देश कदाचित असे दिसतील:
आपण ते आपल्याला हव्या त्या वैध नावात बदलू शकता, परंतु पुन्हा, मी कॉन्फिगरेशन फाइलनेमसारखेच काहीतरी चिकटविण्याचे सुचवितो, जेणेकरून आपण उदाहरणार्थ ते सेट करू शकता:
ठीक आहे, मग, फाईल सेव्ह करा आणि मजकूर संपादकातून बाहेर पडा.
भाग 2 - एनजीआयएनएक्स व्हर्च्युअल होस्ट कॉन्फिगरेशन अद्यतनित करा
आता आपल्याला नवीन पूलमध्ये बदलू इच्छित असलेल्या फास्टसीजीआय कॉन्फिगरेशनसह एनजीआयएनएक्स व्हर्च्युअल होस्ट फाइल उघडण्याची आवश्यकता आहे - किंवा त्याऐवजी, नवीन सॉकेटशी कनेक्ट करा.
उबंटू 14.04 वर डिफॉल्टनुसार, हे / ईटीसी / एनजीआयएनएक्स / साइट्स-उपलब्ध अंतर्गत संग्रहित केले जातात, परंतु इतरत्र देखील परिभाषित केले जाऊ शकतात. आपले आभासी होस्ट कॉन्फिगरेशन कोठे आहेत हे आपल्याला कदाचित चांगले माहित असेल ;-)
आपल्या आवडत्या मजकूर संपादकातील संबंधित कॉन्फिगरेशन फाइल उघडा आणि पीएचपी-एफपीएम सॉकेटपरिभाषित करणारी fastcgi_pass निर्देश (जी स्थान संदर्भात असणे आवश्यक आहे) शोधा. आपण हे मूल्य बदलणे आवश्यक आहे जेणेकरून ते आपण चरण 1 खाली केलेल्या नवीन पीएचपी-एफपीएम पूल कॉन्फिगरेशनशी जुळते, म्हणून आमचे उदाहरण चालू ठेवत आपण हे बदलू शकता:
fastcgi_pass युनिक्स:/व्हीएआर/रन/पीएचपी५-एफपीएम-मायपूल.सॉक;
मग ती फाईलही सेव्ह करून बंद करा. तू आता जवळजवळ संपलीआहेस.
भाग 3 - पीएचपी-एफपीएम आणि एनजीआयएनएक्स पुन्हा सुरू करा
आपण केलेले कॉन्फिगरेशन बदल लागू करण्यासाठी, पीएचपी-एफपीएम आणि एनजीआयएनएक्स दोन्ही पुन्हा सुरू करा. हे पुन्हा सुरू करण्याऐवजी पुन्हा लोड करणे पुरेसे असू शकते, परंतु कोणत्या सेटिंग्ज बदलल्या जातात यावर अवलंबून मला ते थोडे हिट आणि मिस वाटते. विशिष्ट प्रकरणात, मला जुनी पीएचपी-एफपीएम बाल प्रक्रिया त्वरित मरण्याची इच्छा होती, म्हणून पीएचपी-एफपीएम पुन्हा सुरू करणे आवश्यक होते, परंतु एनजीआयएनएक्ससाठी रिलोड पुरेसे असू शकते. स्वत: करून बघा.
sudo service nginx restart
आणि वोइला, तू संपलीआहेस. जर आपण सर्व काही योग्यरित्या केले असेल तर आपण सुधारित केलेले आभासी यजमान आता नवीन पीएचपी-एफपीएम पूल वापरत असावेत आणि इतर कोणत्याही आभासी यजमानांसह बाल प्रक्रिया सामायिक करू नयेत.