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ബാക്ക് ഫോം ഉപയോഗിക്കുക.