लेख निर्देशिका
क्या सर्वर चालू होने के बाद सब कुछ ठीक रहता है? दरअसल, PHP-FPM की दुनिया में, कॉन्फ़िगरेशन फ़ाइल ही असली मास्टरमाइंड होती है, जो यह निर्धारित करती है कि साइट स्थिर, सुरक्षित और कुशलतापूर्वक चल सकती है या नहीं।
PHP-FPM के लिए प्रोसेस पूल कॉन्फ़िगरेशन क्या है?
PHP-FPM (FastCGI प्रोसेस मैनेजर) PHP के लिए एक प्रोसेस मैनेजर है जो विभिन्न वेबसाइटों या एप्लिकेशन के लिए PHP प्रक्रियाओं को प्रबंधित करने के लिए "पूल" की अवधारणा का उपयोग करता है।
प्रत्येक .conf यह फ़ाइल एक पूल परिभाषा है जो प्रमुख मापदंडों को निर्दिष्ट करती है जैसे कि वह उपयोगकर्ता जिस पर प्रक्रिया चलती है, वह पोर्ट या सॉकेट जिस पर वह सुनती है, लॉग पथ और प्रक्रियाओं की संख्या।
दूसरे शब्दों में, ये फाइलें आपके सर्वर के लिए "क्लोन" की तरह हैं, जो विभिन्न साइटों को एक दूसरे के काम में हस्तक्षेप किए बिना स्वतंत्र रूप से चलाने की अनुमति देती हैं।

www.conf: डिफ़ॉल्ट प्रोसेस पूल
PHP-FPM इंस्टॉल करने के बाद, सिस्टम स्वचालित रूप से एक फ़ाइल जनरेट करेगा... www.conf फ़ाइल।
इसका कार्य एक डिफ़ॉल्ट पूल प्रदान करना है जो बिना किसी अतिरिक्त सेटअप के काम करता है, आमतौर पर चलता है... www-data उपयोगकर्ता।
यह पूल एकल-साइट वातावरण के लिए उपयुक्त है, इसे कॉन्फ़िगर करना आसान है, और अधिकांश पैरामीटर सामान्य मान हैं, जैसे कि:
user = www-datagroup = www-datalisten = /run/php/php8.3-fpm.sockpm.max_children = 5
यदि आप केवल एक ही साइट पर इसे चला रहे हैं, तो यह पर्याप्त है।
etउफौ.org.conf: कस्टम साइट पूल
जब आपके पास कई साइटें हों, तो आपको प्रत्येक साइट के लिए एक अलग पूल बनाने की आवश्यकता होती है।
उदाहरण के लिए etufo.org.confयह विशेष रूप से डोमेन नामों के लिए है। etउफौसंगठन. विशेष कॉन्फ़िगरेशन।
सामान्य प्रथा यह है:
- उदाहरण के लिए, विभिन्न उपयोगकर्ताओं और समूहों को निर्दिष्ट करें।
user = etufo,group = etufo - एक अलग लिसनिंग पोर्ट या सॉकेट कॉन्फ़िगर करें, उदाहरण के लिए
listen = /run/php/etufo.sock - उच्च समवर्तीता की स्थिति में साइट की स्थिरता सुनिश्चित करने के लिए प्रक्रियाओं की संख्या को समायोजित करें।
- स्वतंत्र लॉग फाइलें समस्या निवारण में सहायता करती हैं।
इस दृष्टिकोण का लाभ सुरक्षा अलगाव है: यदि एक साइट पर हमला होता है, तो अन्य साइटें प्रभावित नहीं होंगी।
dummy.conf: उदाहरण या प्लेसहोल्डर फ़ाइल
dummy.conf ये आमतौर पर सिस्टम द्वारा प्रदान किए गए टेम्पलेट या उदाहरण होते हैं।
जब तक आप इसे मैन्युअल रूप से संशोधित और सक्षम नहीं करते, तब तक यह वास्तव में सक्षम नहीं होगा।
इसका उद्देश्य आपको एक संदर्भ प्रदान करना और यह दिखाना है कि एक नया पूल कॉन्फ़िगरेशन कैसे लिखा जाता है।
इसलिए, यह संचालन के लिए वास्तविक कॉन्फ़िगरेशन की तुलना में "निर्देश पुस्तिका" की तरह अधिक है।
एकाधिक पूल फाइलों का उपयोग क्यों करें?
- 安全 性अलग-अलग साइटों को अलग-अलग उपयोगकर्ताओं द्वारा चलाया जाना चाहिए ताकि अनुमतियों के ओवरलैप से बचा जा सके।
- 性能优化प्रत्येक पूल के लिए प्रक्रियाओं की संख्या अलग-अलग निर्धारित की जा सकती है और ट्रैफिक की मांग के अनुसार समायोजित की जा सकती है।
- एकांतलॉग, त्रुटि आउटपुट और लिसनिंग पोर्ट सभी अलग-अलग रखे गए हैं, जिससे समस्या निवारण आसान हो जाता है।
उदाहरण के लिए, यदि www.conf यह ढह गया।etufo.org.conf यह अभी भी सामान्य रूप से चल सकता है और इससे पूरा सर्वर ठप नहीं होगा।
व्यावहारिक अनुप्रयोग परिदृश्य
- एकल-साइट सर्वरकेवल उपयोग करें
www.confबस काफी है। - मल्टीसाइट सर्वरप्रत्येक साइट के लिए एक बनाएं
.confफाइलें, जैसे किetufo.org.conf. - dummy.confकेवल संदर्भ के लिए, इसका उपयोग करने की सलाह नहीं दी जाती है।
कॉन्फ़िगरेशन तुलना उदाहरण
www.conf (डिफ़ॉल्ट पूल)
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5
etufo.org.conf (कस्टम पूल)
[etufo.org]
user = etufo
group = etufo
listen = /run/php/etufo.sock
pm = dynamic
pm.max_children = 20
access.log = /var/log/php-fpm/etufo.access.log
आपको पता चलेगा कि अंतर उपयोगकर्ता, सुनने के पते और प्रक्रियाओं की संख्या में निहित है।
PHP-FPM प्रोसेस पूल पैरामीटर को समायोजित करना
यदि कॉन्फ़िगरेशन उपयोग करता है गतिशीलयह कुछ कार्य प्रक्रियाओं को पूर्व-प्रारंभ करने और अनुरोध मात्रा के अनुसार उन्हें गतिशील रूप से समायोजित करने की एक विधि है, जो अनुरोध मात्रा अचानक बढ़ने पर तेजी से प्रतिक्रिया दे सकती है।
एक निश्चित मात्रा में ट्रैफ़िक वाली वेबसाइटों के लिए, इसका उपयोग करने की अनुशंसा की जाती है pm = dynamicक्योंकि यह एक निश्चित मात्रा में निष्क्रिय प्रक्रियाओं को बनाए रख सकता है और उच्च समवर्तीता के दौरान 500 त्रुटियों से बच सकता है।
इसका उपयोग केवल तभी करने की अनुशंसा की जाती है जब एक्सेस वॉल्यूम बहुत कम हो और मेमोरी संसाधन सीमित हों। pm = ondemand संसाधनों को बचाने के लिए.
इसे डायनामिक में बदलने और इसे ऑप्टिमाइज़ करने की सलाह दी जाती है। pm.max_children और अन्य पैरामीटर:
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
यह कॉन्फ़िगरेशन संसाधनों की बर्बादी से बचते हुए प्रदर्शन सुनिश्चित करता है।
विस्तृत कॉन्फ़िगरेशन निर्देशों के लिए, कृपया निम्नलिखित ट्यूटोरियल देखें ▼
आधिकारिक PHP दस्तावेज़ के अनुसार:
"प्रत्येक पूल को स्वतंत्र रूप से कॉन्फ़िगर किया जा सकता है, जिससे प्रति एप्लिकेशन अलग-अलग उपयोगकर्ता, सीमाएं और सेटिंग्स की अनुमति मिलती है।"
यह कथन स्पष्ट रूप से मल्टी-पूल कॉन्फ़िगरेशन के महत्व को दर्शाता है: स्वतंत्रता, लचीलापन और नियंत्रणीयता।
निष्कर्ष: मेरा दृष्टिकोण
सर्वर कॉन्फ़िगरेशन एक ऑर्केस्ट्रा में कंडक्टर की तरह है, जो यह निर्धारित करता है कि प्रत्येक वाद्य यंत्र को कैसे बजाया जाना चाहिए।
www.conf यह डिफ़ॉल्ट कंडक्टर है, जो एकल प्रदर्शनों के लिए उपयुक्त है;etufo.org.conf यह एक विशिष्ट मंच के लिए विशेष रूप से तैयार किया गया कंडक्टर है; और dummy.conf यह संगीत की धुनों का एक मसौदा है, जो आपको नई धुनें लिखने का तरीका याद दिलाता है।
सूचना सुरक्षा और प्रदर्शन अनुकूलन पर केंद्रित इस युग में, इन कॉन्फ़िगरेशन फ़ाइलों का सही ढंग से उपयोग करना जानना सर्वर की जीवनरेखा को नियंत्रित करने की कुंजी है।
कॉन्फ़िगरेशन केवल मामूली टेक्स्ट नहीं है; यह एक सर्वर की आत्मा है।
यदि आप संचालन कर रहे हैंWordPressमल्टी-साइट अनुप्रयोगों के लिए, हम दृढ़तापूर्वक अनुशंसा करते हैं कि आप अपने सर्वर को वास्तव में बेहद मजबूत बनाने के लिए इन पूल फ़ाइलों, विशेष रूप से प्रोसेस पूल पैरामीटर सेटिंग्स की तुरंत जांच और अनुकूलन करें।
होप चेन वेइलियांग ब्लॉग ( https://www.chenweiliang.com/ यहां साझा किया गया लेख "PHP-FPM /etc/php/8.3/fpm/pool.d/ कॉन्फ़िगरेशन फ़ाइल के अंतर और अनुकूलन तकनीकें" आपके लिए उपयोगी हो सकता है।
इस लेख का लिंक साझा करने के लिए आपका स्वागत है:https://www.chenweiliang.com/cwl-33845.html

