Nginx-ൽ PHP-FPM സ്റ്റാറ്റസ് എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കുകയും നിരീക്ഷിക്കുകയും ചെയ്യാം


PHP-FPM (FastCGI പ്രോസസ് മാനേജർ) എന്നത് ഒരു ഇതര PHP FastCGI നടപ്പിലാക്കലാണ്, അത് ഏത് വലുപ്പത്തിലുമുള്ള വെബ്uസൈറ്റുകൾക്കും പ്രത്യേകിച്ച് ഉയർന്ന ട്രാഫിക് ലഭിക്കുന്ന സൈറ്റുകൾക്കും ഉപയോഗപ്രദമായ നിരവധി അധിക സവിശേഷതകളുമായി വരുന്നു.

ഇത് സാധാരണയായി LEMP (Linux Nginx MySQL/MariaDB PHP) സ്റ്റാക്കിൽ ഉപയോഗിക്കുന്നു; ഒരു നെറ്റ്uവർക്കിൽ ഡൈനാമിക് HTTP ഉള്ളടക്കം നൽകുന്നതിന് Nginx PHP FastCGI ഉപയോഗിക്കുന്നു. ഇന്റർനെറ്റിലെ വെബ് സെർവറുകളിൽ നൂറുകണക്കിന് വെബ്uസൈറ്റുകൾക്കായുള്ള ദശലക്ഷക്കണക്കിന് PHP അഭ്യർത്ഥനകൾ നൽകുന്നതിന് ഇത് ഉപയോഗിക്കുന്നു.

php-fpm-ന്റെ ഉപയോഗപ്രദമായ സവിശേഷതകളിൽ ഒന്ന് ബിൽറ്റ്-ഇൻ സ്റ്റാറ്റസ് പേജാണ്, അത് അതിന്റെ ആരോഗ്യം നിരീക്ഷിക്കാൻ നിങ്ങളെ സഹായിക്കും. ഈ ലേഖനത്തിൽ, Linux-ൽ PHP-FPM സ്റ്റാറ്റസ് പേജ് എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാമെന്ന് ഞങ്ങൾ കാണിക്കും.

ലിനക്സിൽ PHP-FPM സ്റ്റാറ്റസ് പേജ് എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാം

ആദ്യം php-fpm കോൺഫിഗറേഷൻ ഫയൽ തുറന്ന് കാണിച്ചിരിക്കുന്നതുപോലെ സ്റ്റാറ്റസ് പേജ് പ്രവർത്തനക്ഷമമാക്കുക.

$ sudo vim /etc/php-fpm.d/www.conf 
OR
$ sudo vim /etc/php/7.2/fpm/pool.d/www.conf	#for PHP versions 5.6, 7.0, 7.1

ഈ ഫയലിനുള്ളിൽ, സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ വേരിയബിൾ pm.status_path = /status കണ്ടെത്തി അഭിപ്രായമിടുക.

മാറ്റങ്ങൾ സംരക്ഷിച്ച് ഫയലിൽ നിന്ന് പുറത്തുകടക്കുക.

അടുത്തതായി, PHP-FPM കോൺഫിഗറേഷൻ ഫയൽ ഏതെങ്കിലും പിശകുകൾക്കായി ചുവടെയുള്ള കമാൻഡ് പ്രവർത്തിപ്പിച്ച് പരിശോധിക്കുക.

$ sudo php-fpm -t
OR
$ sudo php7.2-fpm -t

അടുത്തകാലത്തെ മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിന് PHP-FPM സേവനം പുനരാരംഭിക്കുക.

$ sudo systemctl restart php-fpm
OR
$ sudo systemctl restart php7.2-fpm

അടുത്തതായി, നിങ്ങളുടെ ഡിഫോൾട്ട് സെർവർ ബ്ലോക്ക് (വെർച്വൽ ഹോസ്റ്റ്) കോൺഫിഗറേഷൻ ഫയൽ എഡിറ്റ് ചെയ്ത് അതിൽ താഴെയുള്ള ലൊക്കേഷൻ ബ്ലോക്ക് ചേർക്കുക. ഉദാഹരണത്തിന്, ടെസ്റ്റ് സിസ്റ്റത്തിൽ, test.lab എന്ന സൈറ്റിന് വേണ്ടിയുള്ള ഡിഫോൾട്ട് സെർവർ ബ്ലോക്കിന്റെ കോൺഫിഗറേഷൻ ഫയൽ /etc/nginx/conf.d/default.conf ആണ്.

$ sudo vim /etc/nginx/conf.d/default.conf 

ചേർക്കേണ്ട ലൊക്കേഷൻ ബ്ലോക്ക് ഇതാ. ഈ കോൺഫിഗറിൽ, സുരക്ഷാ കാരണങ്ങളാൽ 127.0.0.1 അനുവദിക്കുക എന്ന നിർദ്ദേശം ഉപയോഗിച്ച് ലോക്കൽഹോസ്റ്റിനുള്ളിലെ PHP-FPM പ്രോസസ്സ് സ്റ്റാറ്റസിലേക്ക് മാത്രമേ ഞങ്ങൾ പ്രവേശനം അനുവദിച്ചിട്ടുള്ളൂ.

location ~ ^/(status|ping)$ {
        allow 127.0.0.1;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include fastcgi_params;
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass   unix:/var/run/php7.2-fpm.sock;
}

ഫയൽ സംരക്ഷിച്ച് അത് അടയ്ക്കുക.

മുകളിലുള്ള മാറ്റങ്ങൾ പ്രയോഗിക്കുന്നതിന് Nginx സെർവർ പുനരാരംഭിക്കുക.

$ sudo systemctl restart nginx

നിങ്ങളുടെ PHP-FPM പ്രോസസ്സ് നില കാണുന്നതിന് ഇപ്പോൾ ഒരു ബ്രൗസർ തുറന്ന് URL http://test.lab/status ടൈപ്പ് ചെയ്യുക.

പകരമായി, ചുരുളൻ പ്രോഗ്രാം ഇനിപ്പറയുന്ന രീതിയിൽ ഉപയോഗിക്കുക, ഇവിടെ -L ഫ്ലാഗ് പേജിന്റെ സ്ഥാനം വ്യക്തമാക്കുന്നു.

$ curl -L http://test.lab/status

സ്ഥിരസ്ഥിതിയായി, സ്റ്റാറ്റസ് പേജ് ഒരു സംഗ്രഹമോ ഹ്രസ്വ നിലയോ മാത്രമേ പ്രിന്റ് ചെയ്യുന്നുള്ളൂ. ഓരോ പൂൾ പ്രക്രിയയുടെയും സ്റ്റാറ്റസ് കാണുന്നതിന്, ചോദ്യ സ്uട്രിംഗിൽ \പൂർണ്ണം കടന്നുപോകുക, ഉദാഹരണത്തിന്:

http://www.foo.bar/status?full

കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് ഔട്ട്പുട്ട് ഫോർമാറ്റ് (JSON, HTML അല്ലെങ്കിൽ XML) നിർവചിക്കാം.

http://www.foo.bar/status?json&full
http://www.foo.bar/status?html&full
http://www.foo.bar/status?xml&full

ഓരോ പ്രക്രിയയ്ക്കും php-fpm പൂർണ്ണ സ്റ്റാറ്റസിൽ നൽകിയിരിക്കുന്ന മൂല്യങ്ങൾ ചുവടെയുണ്ട്:

  • പിഡ് - പ്രക്രിയയുടെ PID.
  • സ്റ്റേറ്റ് പ്രോസസ്സ് സ്റ്റാറ്റസ് (നിഷ്ക്രിയം, റണ്ണിംഗ് മുതലായവ).
  • ആരംഭ സമയം - പ്രക്രിയ ആരംഭിച്ച തീയതിയും സമയവും.
  • ആരംഭിക്കുക മുതൽ - പ്രക്രിയ ആരംഭിച്ചതിന് ശേഷമുള്ള സെക്കൻഡുകളുടെ എണ്ണം.
  • അഭ്യർത്ഥനകൾ - പ്രോസസ്സ് നൽകിയ അഭ്യർത്ഥനകളുടെ എണ്ണം.
  • അഭ്യർത്ഥന ദൈർഘ്യം - അഭ്യർത്ഥനകളുടെ µs ലെ ദൈർഘ്യം.
  • അഭ്യർത്ഥന രീതി - അഭ്യർത്ഥന രീതി (GET, POST മുതലായവ).
  • URI അഭ്യർത്ഥിക്കുക – അന്വേഷണ സ്ട്രിംഗ് ഉപയോഗിച്ച് URI അഭ്യർത്ഥിക്കുക.
  • ഉള്ളടക്ക ദൈർഘ്യം - അഭ്യർത്ഥനയുടെ ഉള്ളടക്ക ദൈർഘ്യം (പോസ്റ്റിനൊപ്പം മാത്രം).
  • ഉപയോക്താവ് - ഉപയോക്താവ് (PHP_AUTH_USER) (അല്ലെങ്കിൽ '-' സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ).
  • സ്ക്രിപ്റ്റ് - വിളിക്കപ്പെടുന്ന പ്രധാന സ്ക്രിപ്റ്റ് (അല്ലെങ്കിൽ '-' സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ).
  • അവസാന അഭ്യർത്ഥന cpu – %cpu അവസാനമായി ഉപയോഗിച്ച അഭ്യർത്ഥന (പ്രോസസ് നിഷ്uക്രിയാവസ്ഥയിലല്ലെങ്കിൽ അത് എല്ലായ്പ്പോഴും 0 ആണെന്നത് ശ്രദ്ധിക്കുക).
  • അവസാന അഭ്യർത്ഥന മെമ്മറി - അവസാനം ഉപയോഗിച്ച അഭ്യർത്ഥനയുടെ പരമാവധി മെമ്മറി (പ്രോസസ് നിഷ്uക്രിയാവസ്ഥയിലല്ലെങ്കിൽ അത് എല്ലായ്പ്പോഴും 0 ആണ്).

തൽക്കാലം അത്രമാത്രം! ഈ ലേഖനത്തിൽ, Nginx വെബ് സെർവറിന് കീഴിൽ php-fpm സ്റ്റാറ്റസ് പേജ് എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാമെന്ന് ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. നിങ്ങളുടെ ചിന്തകൾ ഞങ്ങളുമായി പങ്കിടാൻ ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം ഉപയോഗിക്കുക.