लेख निर्देशिका
सर्व्हर सुरू झाल्यावर सर्व काही व्यवस्थित आहे का? खरे तर, PHP-FPM च्या जगात, कॉन्फिगरेशन फाईल हीच खरी सूत्रधार असते, जी साईट स्थिरपणे, सुरक्षितपणे आणि कार्यक्षमतेने चालू शकेल की नाही हे ठरवते.
PHP-FPM साठी प्रोसेस पूल कॉन्फिगरेशन काय आहे?
PHP-FPM (FastCGI Process Manager) हे 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
जर तुम्ही फक्त एकाच साइटवर चालवत असाल, तर हे पुरेसे आहे.
etUFO हे.org.conf: कस्टम साइट पूल
जेव्हा तुमच्याकडे एकापेक्षा जास्त साइट्स असतात, तेव्हा तुम्हाला प्रत्येक साइटसाठी एक स्वतंत्र पूल तयार करणे आवश्यक असते.
जसे etufo.org.confहे विशेषतः डोमेन नावांकरिता आहे. etUFO हे.org विशेष संरचना.
प्रचलित पद्धत अशी आहे:
- वेगवेगळे वापरकर्ते आणि गट निर्दिष्ट करा, उदाहरणार्थ
user = etufo,group = etufo - उदाहरणार्थ, एक स्वतंत्र लिसनिंग पोर्ट किंवा सॉकेट कॉन्फिगर करा.
listen = /run/php/etufo.sock - उच्च समवर्तीतेखाली साइटची स्थिरता सुनिश्चित करण्यासाठी प्रक्रियांची संख्या समायोजित करा.
- स्वतंत्र लॉग फाइल्स समस्यानिवारणास मदत करतात.
या पद्धतीचा फायदा म्हणजे सुरक्षिततेचे विलगीकरण: जरी एका साइटवर हल्ला झाला तरी, इतर साइट्सवर परिणाम होणार नाही.
dummy.conf: उदाहरण किंवा प्लेसहोल्डर फाईल
dummy.conf हे सहसा सिस्टीमद्वारे पुरवलेले टेम्पलेट्स किंवा उदाहरणे असतात.
जोपर्यंत तुम्ही स्वतःहून त्यात बदल करून ते सक्षम करत नाही, तोपर्यंत ते प्रत्यक्षात सक्षम होणार नाही.
याचा उद्देश तुम्हाला एक संदर्भ प्रदान करणे आणि नवीन पूल कॉन्फिगरेशन कसे लिहावे हे दाखवणे आहे.
त्यामुळे, हे प्रत्यक्ष वापरासाठीच्या संरचनेपेक्षा, एका 'सूचना पुस्तिके'सारखेच अधिक आहे.
एकापेक्षा जास्त पूल फाइल्स का वापराव्यात?
- 安全 性परवानग्यांचा एकमेकांत शिरकाव टाळण्यासाठी, वेगवेगळ्या साईट्स वेगवेगळ्या वापरकर्त्यांनी चालवल्या पाहिजेत.
- 性能优化प्रत्येक पूलसाठी प्रक्रियांची संख्या स्वतंत्रपणे सेट केली जाऊ शकते आणि रहदारीच्या मागणीनुसार समायोजित केली जाऊ शकते.
- अलगीकरणलॉग, एरर आउटपुट आणि लिसनिंग पोर्ट्स हे सर्व वेगळे केलेले आहेत, ज्यामुळे समस्यानिवारण सोपे होते.
उदाहरणार्थ, जर www.conf ते कोसळले.etufo.org.conf ते सामान्यपणे चालू राहू शकते आणि संपूर्ण सर्व्हर बंद पाडणार नाही.
वास्तविक जगातील अनुप्रयोग परिस्थिती
- सिंगल-साइट सर्व्हरफक्त वापरा
www.confबस झालं. - मल्टीसाइट सर्व्हरप्रत्येक साइटसाठी एक तयार करा
.confफाईल्स, जसे कीetufo.org.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 (Custom Pool)
[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 हा संगीत रचनांचा एक कच्चा मसुदा आहे, जो तुम्हाला नवीन चाली कशा लिहाव्यात याची आठवण करून देतो.
माहिती सुरक्षा आणि कार्यप्रदर्शन ऑप्टिमायझेशनवर लक्ष केंद्रित असलेल्या युगात, या कॉन्फिगरेशन फाइल्सचा योग्य वापर कसा करायचा हे जाणून घेणे, सर्व्हरच्या जीवनरेषेवर नियंत्रण ठेवण्यासाठी अत्यंत महत्त्वाचे आहे.
कॉन्फिगरेशन म्हणजे केवळ क्षुल्लक मजकूर नाही; तो सर्वरचा आत्मा आहे.
जर तुम्ही चालवत असालवर्डप्रेसमल्टी-साइट ॲप्लिकेशन्ससाठी, तुमचा सर्व्हर खऱ्या अर्थाने मजबूत बनवण्यासाठी, तुम्ही या पूल फाइल्स, विशेषतः प्रोसेस पूल पॅरामीटर सेटिंग्ज, त्वरित तपासाव्यात आणि ऑप्टिमाइझ कराव्यात अशी आमची जोरदार शिफारस आहे.
होप चेन वेइलांग ब्लॉग ( https://www.chenweiliang.com/ येथे शेअर केलेला "PHP-FPM /etc/php/8.3/fpm/pool.d/ कॉन्फिगरेशन फाइलमधील फरक आणि ऑप्टिमायझेशन तंत्र" हा लेख तुमच्यासाठी उपयुक्त ठरू शकतो.
या लेखाची लिंक सामायिक करण्यासाठी आपले स्वागत आहे:https://www.chenweiliang.com/cwl-33845.html

