PHP-FPM കോൺഫിഗറേഷൻ ഫയലിലെ വ്യത്യാസങ്ങളും ഒപ്റ്റിമൈസേഷൻ ടെക്നിക്കുകളും /etc/php/8.3/fpm/pool.d/

സെർവർ പ്രവർത്തിച്ചു തുടങ്ങിക്കഴിഞ്ഞാൽ എല്ലാം ശരിയാകുമോ? വാസ്തവത്തിൽ, PHP-FPM ലോകത്ത്, സൈറ്റിന് സ്ഥിരതയോടെയും സുരക്ഷിതമായും കാര്യക്ഷമമായും പ്രവർത്തിക്കാൻ കഴിയുമോ എന്ന് നിർണ്ണയിക്കുന്ന യഥാർത്ഥ സൂത്രധാരൻ കോൺഫിഗറേഷൻ ഫയലാണ്.

PHP-FPM-നുള്ള പ്രോസസ് പൂൾ കോൺഫിഗറേഷൻ എന്താണ്?

വ്യത്യസ്ത വെബ്‌സൈറ്റുകൾക്കോ ​​ആപ്ലിക്കേഷനുകൾക്കോ ​​വേണ്ടിയുള്ള പി‌എച്ച്പി പ്രക്രിയകൾ കൈകാര്യം ചെയ്യുന്നതിന് "പൂളുകൾ" എന്ന ആശയം ഉപയോഗിക്കുന്ന പി‌എച്ച്പിയുടെ ഒരു പ്രോസസ് മാനേജരാണ് പി‌എച്ച്പി-എഫ്‌പി‌എം (ഫാസ്റ്റ്‌സി‌ജി‌ഐ പ്രോസസ് മാനേജർ).

ഓരോ .conf ഫയൽ എന്നത് ഒരു പൂൾ നിർവചനമാണ്, അത് പ്രോസസ്സ് പ്രവർത്തിക്കുന്ന ഉപയോക്താവ്, അത് കേൾക്കുന്ന പോർട്ട് അല്ലെങ്കിൽ സോക്കറ്റ്, ലോഗ് പാത്ത്, പ്രോസസ്സുകളുടെ എണ്ണം തുടങ്ങിയ പ്രധാന പാരാമീറ്ററുകൾ വ്യക്തമാക്കുന്നു.

മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഈ ഫയലുകൾ നിങ്ങളുടെ സെർവറിന് "ക്ലോണുകൾ" പോലെയാണ്, പരസ്പരം ഇടപെടാതെ വ്യത്യസ്ത സൈറ്റുകളെ സ്വതന്ത്രമായി പ്രവർത്തിക്കാൻ അനുവദിക്കുന്നു.

PHP-FPM കോൺഫിഗറേഷൻ ഫയലിലെ വ്യത്യാസങ്ങളും ഒപ്റ്റിമൈസേഷൻ ടെക്നിക്കുകളും /etc/php/8.3/fpm/pool.d/

www.conf: ഡിഫോൾട്ട് പ്രോസസ് പൂൾ

PHP-FPM ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, സിസ്റ്റം സ്വയമേവ ഒരു... സൃഷ്ടിക്കും. www.conf പ്രമാണം.

ബോക്സിന് പുറത്ത് പ്രവർത്തിക്കുന്ന ഒരു ഡിഫോൾട്ട് പൂൾ നൽകുക എന്നതാണ് ഇതിന്റെ പ്രവർത്തനം, സാധാരണയായി... ൽ പ്രവർത്തിക്കുന്നു. www-data ഉപയോക്താവ്.

ഈ പൂൾ സിംഗിൾ-സൈറ്റ് പരിതസ്ഥിതികൾക്ക് അനുയോജ്യമാണ്, കോൺഫിഗർ ചെയ്യാൻ എളുപ്പമാണ്, കൂടാതെ മിക്ക പാരാമീറ്ററുകളും പൊതുവായ മൂല്യങ്ങളാണ്, ഉദാഹരണത്തിന്:

  • user = www-data
  • group = www-data
  • listen = /run/php/php8.3-fpm.sock
  • pm.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 (ഇഷ്ടാനുസൃത പൂൾ)

[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

കൂടുതൽ മറഞ്ഞിരിക്കുന്ന തന്ത്രങ്ങൾ അൺലോക്ക് ചെയ്യാൻ🔑, ഞങ്ങളുടെ ടെലിഗ്രാം ചാനലിൽ ചേരാൻ സ്വാഗതം!

ഇഷ്ടമായാൽ ഷെയർ ചെയ്യുക, ലൈക്ക് ചെയ്യുക! നിങ്ങളുടെ ഷെയറുകളും ലൈക്കുകളും ഞങ്ങളുടെ തുടർച്ചയായ പ്രചോദനമാണ്!

 

发表 评论

നിങ്ങളുടെ ഇമെയിൽ വിലാസം പ്രസിദ്ധീകരിക്കില്ല. ആവശ്യമായ ഫീൽഡുകൾ ഉപയോഗിക്കുന്നു * ലേബൽ

ആർട്ടിക്കിൾ ഡയറക്ടറി
ടോപ്പ് സ്ക്രോൾ