NGINX-ൽ പ്രത്യേക PHP-FPM പൂളുകൾ എങ്ങനെ സജ്ജമാക്കാം
പ്രസിദ്ധീകരിച്ചത്: 2025, ഫെബ്രുവരി 15 11:55:32 AM UTC
അവസാനം അപ്ഡേറ്റ് ചെയ്തത്: 2026, ജനുവരി 12 8:30:22 AM UTC
ഈ ലേഖനത്തിൽ, ഒന്നിലധികം PHP-FPM പൂളുകൾ പ്രവർത്തിപ്പിക്കുന്നതിനും FastCGI വഴി NGINX അവയിലേക്ക് ബന്ധിപ്പിക്കുന്നതിനും ആവശ്യമായ കോൺഫിഗറേഷൻ ഘട്ടങ്ങൾ ഞാൻ പരിശോധിക്കുന്നു, ഇത് വെർച്വൽ ഹോസ്റ്റുകൾക്കിടയിൽ പ്രോസസ്സ് വേർതിരിക്കലും ഒറ്റപ്പെടലും അനുവദിക്കുന്നു.
How to Set Up Separate PHP-FPM Pools in NGINX
ഈ പോസ്റ്റിലെ വിവരങ്ങൾ ഉബുണ്ടു സെർവർ 14.04 x64-ൽ പ്രവർത്തിക്കുന്ന NGINX 1.4.6, PHP-FPM 5.5.9 എന്നിവയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. മറ്റ് പതിപ്പുകൾക്ക് ഇത് സാധുതയുള്ളതോ അല്ലാത്തതോ ആകാം. (അപ്ഡേറ്റ്: ഉബുണ്ടു സെർവർ 24.04, PHP-FPM 8.3, NGINX 1.24.0 എന്നിവയിൽ, ഈ പോസ്റ്റിലെ എല്ലാ നിർദ്ദേശങ്ങളും ഇപ്പോഴും പ്രവർത്തിക്കുന്നുണ്ടെന്ന് എനിക്ക് സ്ഥിരീകരിക്കാൻ കഴിയും)
ഒരേ പൂളിൽ എല്ലാം പ്രവർത്തിപ്പിക്കുന്നതിനുപകരം ഒന്നിലധികം PHP-FPM ചൈൽഡ് പ്രോസസ് പൂളുകൾ സജ്ജീകരിക്കുന്നതിന് നിരവധി ഗുണങ്ങളുണ്ട്. സുരക്ഷ, വേർതിരിക്കൽ/ഐസൊലേഷൻ, റിസോഴ്സ് മാനേജ്മെന്റ് എന്നിവയാണ് ചില പ്രധാന ഗുണങ്ങൾ.
നിങ്ങളുടെ പ്രചോദനം എന്തുതന്നെയായാലും, ഈ പോസ്റ്റ് അത് ചെയ്യാൻ നിങ്ങളെ സഹായിക്കും :-)
ഭാഗം 1 – ഒരു പുതിയ PHP-FPM പൂൾ സജ്ജീകരിക്കുക
ആദ്യം, PHP-FPM അതിന്റെ പൂൾ കോൺഫിഗറേഷനുകൾ സൂക്ഷിക്കുന്ന ഡയറക്ടറി നിങ്ങൾ കണ്ടെത്തേണ്ടതുണ്ട്. ഉബുണ്ടു 14.04-ൽ, ഇത് സ്ഥിരസ്ഥിതിയായി /etc/php5/fpm/pool.d ആണ്. www.conf എന്ന പേരിൽ ഒരു ഫയൽ ഇതിനകം തന്നെ അവിടെ ഉണ്ടായിരിക്കാം, അത് ഡിഫോൾട്ട് പൂളിനായുള്ള കോൺഫിഗറേഷൻ സൂക്ഷിക്കുന്നു. നിങ്ങൾ മുമ്പ് ആ ഫയൽ നോക്കിയിട്ടില്ലെങ്കിൽ, നിങ്ങൾ അത് പരിശോധിച്ച് നിങ്ങളുടെ സജ്ജീകരണത്തിനായി അതിലെ ക്രമീകരണങ്ങൾ മാറ്റണം, കാരണം ഡിഫോൾട്ടുകൾ വളരെ കുറഞ്ഞ പവർ സെർവറിനാണ്, പക്ഷേ ഇപ്പോൾ അതിന്റെ ഒരു പകർപ്പ് ഉണ്ടാക്കുക, അങ്ങനെ നമുക്ക് ആദ്യം മുതൽ ആരംഭിക്കേണ്ടതില്ല:
തീർച്ചയായും, "mypool" എന്നതിന് പകരം നിങ്ങളുടെ പൂളിന് എന്ത് പേരിടണമെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുന്നുവോ അത് ഉപയോഗിക്കുക.
ഇനി നാനോ അല്ലെങ്കിൽ നിങ്ങൾക്ക് ഇഷ്ടമുള്ള ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിച്ച് പുതിയ ഫയൽ തുറന്ന് നിങ്ങളുടെ ഉദ്ദേശ്യത്തിന് അനുയോജ്യമായ രീതിയിൽ ക്രമീകരിക്കുക. ചൈൽഡ് പ്രോസസ്സ് നമ്പറുകളും പൂൾ പ്രവർത്തിക്കുന്ന ഉപയോക്താവിനും ഗ്രൂപ്പിനും കീഴിൽ മാറ്റങ്ങൾ വരുത്തേണ്ടി വന്നേക്കാം, എന്നാൽ നിങ്ങൾ തീർച്ചയായും മാറ്റേണ്ട രണ്ട് ക്രമീകരണങ്ങൾ പൂളിന്റെ പേരും അത് ശ്രദ്ധിക്കുന്ന സോക്കറ്റും ആണ്, അല്ലാത്തപക്ഷം അത് നിലവിലുള്ള പൂളുമായി പൊരുത്തപ്പെടുകയും കാര്യങ്ങൾ പ്രവർത്തിക്കുന്നത് നിർത്തുകയും ചെയ്യും.
പൂളിന്റെ പേര് ഫയലിന്റെ മുകളിലായി ചതുര ബ്രാക്കറ്റുകളിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. സ്ഥിരസ്ഥിതിയായി ഇത് [www] ആണ്. നിങ്ങൾക്ക് ഇഷ്ടമുള്ളതിലേക്ക് ഇത് മാറ്റുക; നിങ്ങൾ കോൺഫിഗറേഷൻ ഫയലിന് പേരിട്ടതുപോലെ തന്നെ ഞാൻ നിർദ്ദേശിക്കുന്നു, അതിനാൽ ഈ ഉദാഹരണത്തിനായി ഇത് [mypool] എന്ന് മാറ്റുക. നിങ്ങൾ അത് മാറ്റിയില്ലെങ്കിൽ, PHP-FPM ആ പേരുള്ള ആദ്യത്തെ കോൺഫിഗറേഷൻ ഫയൽ മാത്രമേ ലോഡ് ചെയ്യുകയുള്ളൂ, അത് കാര്യങ്ങൾ തകരാറിലാകാൻ സാധ്യതയുണ്ട്.
തുടർന്ന് നിങ്ങൾ കേൾക്കുന്ന സോക്കറ്റ് അല്ലെങ്കിൽ വിലാസം മാറ്റേണ്ടതുണ്ട്, അത് listen ഡയറക്റ്റീവ് നിർവചിച്ചിരിക്കുന്നു. സ്ഥിരസ്ഥിതിയായി, PHP-FPM Unix സോക്കറ്റുകൾ ഉപയോഗിക്കുന്നു, അതിനാൽ നിങ്ങളുടെ listen ഡയറക്റ്റീവ് ഇതുപോലെ കാണപ്പെടും:
നിങ്ങൾക്ക് ആവശ്യമുള്ള ഏത് സാധുവായ പേരിലേക്കും ഇത് മാറ്റാം, പക്ഷേ വീണ്ടും, കോൺഫിഗറേഷൻ ഫയൽ നാമത്തിന് സമാനമായ എന്തെങ്കിലും ഉപയോഗിച്ച് തുടരാൻ ഞാൻ നിർദ്ദേശിക്കുന്നു, ഉദാഹരണത്തിന് നിങ്ങൾക്ക് ഇത് ഇനിപ്പറയുന്നതായി സജ്ജമാക്കാം:
ശരി, ഫയൽ സേവ് ചെയ്ത് ടെക്സ്റ്റ് എഡിറ്ററിൽ നിന്ന് പുറത്തുകടക്കുക.
ഭാഗം 2 – NGINX വെർച്വൽ ഹോസ്റ്റ് കോൺഫിഗറേഷൻ അപ്ഡേറ്റ് ചെയ്യുക
ഇനി നിങ്ങൾ പുതിയ പൂളിലേക്ക് മാറ്റാൻ ആഗ്രഹിക്കുന്ന FastCGI കോൺഫിഗറേഷൻ ഉള്ള NGINX വെർച്വൽ ഹോസ്റ്റ് ഫയൽ തുറക്കേണ്ടതുണ്ട് - അല്ലെങ്കിൽ, പുതിയ സോക്കറ്റിലേക്ക് കണക്റ്റുചെയ്യുക.
ഉബുണ്ടു 14.04-ൽ ഡിഫോൾട്ടായി, ഇവ /etc/nginx/sites-available എന്നതിൽ സൂക്ഷിക്കുന്നു, പക്ഷേ മറ്റെവിടെയെങ്കിലും നിർവചിക്കാനും കഴിയും. നിങ്ങളുടെ വെർച്വൽ ഹോസ്റ്റ് കോൺഫിഗറേഷനുകൾ എവിടെയാണെന്ന് നിങ്ങൾക്ക് നന്നായി അറിയാം ;-)
നിങ്ങളുടെ പ്രിയപ്പെട്ട ടെക്സ്റ്റ് എഡിറ്ററിൽ പ്രസക്തമായ കോൺഫിഗറേഷൻ ഫയൽ തുറന്ന് PHP-FPM സോക്കറ്റ് നിർവചിക്കുന്ന fastcgi_pass ഡയറക്റ്റീവ് (അത് ഒരു ലൊക്കേഷൻ സന്ദർഭത്തിലായിരിക്കണം) തിരയുക. ആദ്യ ഘട്ടത്തിൽ നിങ്ങൾ നിർമ്മിച്ച പുതിയ PHP-FPM പൂൾ കോൺഫിഗറേഷനുമായി പൊരുത്തപ്പെടുന്ന തരത്തിൽ നിങ്ങൾ ഈ മൂല്യം മാറ്റണം, അതിനാൽ ഞങ്ങളുടെ ഉദാഹരണം തുടരുന്നതിലൂടെ നിങ്ങൾ ഇത് ഇതിലേക്ക് മാറ്റും:
fastcgi_pass യൂണിക്സ്:/var/run/php5-fpm-mypool.sock;
പിന്നെ ആ ഫയലും സേവ് ചെയ്ത് അടയ്ക്കുക. ഇപ്പോൾ നിങ്ങൾ ഏകദേശം പൂർത്തിയാക്കി.
ഭാഗം 3 – PHP-FPM ഉം NGINX ഉം പുനരാരംഭിക്കുക
നിങ്ങൾ വരുത്തിയ കോൺഫിഗറേഷൻ മാറ്റങ്ങൾ പ്രയോഗിക്കാൻ, PHP-FPM ഉം NGINX ഉം പുനരാരംഭിക്കുക. പുനരാരംഭിക്കുന്നതിനുപകരം വീണ്ടും ലോഡുചെയ്യുന്നത് മതിയാകും, പക്ഷേ ഏത് ക്രമീകരണങ്ങളാണ് മാറ്റിയത് എന്നതിനെ ആശ്രയിച്ച് ഇത് അൽപ്പം ഹിറ്റ് ആൻഡ് മിസ് ആണെന്ന് ഞാൻ കാണുന്നു. പ്രത്യേക സാഹചര്യത്തിൽ, പഴയ PHP-FPM ചൈൽഡ് പ്രോസസ്സുകൾ ഉടനടി മരിക്കണമെന്ന് ഞാൻ ആഗ്രഹിച്ചു, അതിനാൽ PHP-FPM പുനരാരംഭിക്കേണ്ടത് ആവശ്യമായിരുന്നു, പക്ഷേ NGINX-ന് ഒരു റീലോഡ് മതിയാകും. നിങ്ങൾക്കായി ഇത് പരീക്ഷിച്ചുനോക്കൂ.
sudo service nginx restart
അത്രമാത്രം, നിങ്ങൾ പൂർത്തിയാക്കി. നിങ്ങൾ എല്ലാം ശരിയായി ചെയ്തുവെങ്കിൽ, നിങ്ങൾ പരിഷ്കരിച്ച വെർച്വൽ ഹോസ്റ്റ് ഇപ്പോൾ പുതിയ PHP-FPM പൂൾ ഉപയോഗിക്കുകയും മറ്റ് വെർച്വൽ ഹോസ്റ്റുകളുമായി ചൈൽഡ് പ്രോസസ്സുകൾ പങ്കിടാതിരിക്കുകയും വേണം.
