Kako omogućiti i pratiti status PHP-FPM-a u Nginxu
PHP-FPM (FastCGI Process Manager) alternativna je implementacija PHP FastCGI koja dolazi s nizom dodatnih značajki korisnih za web stranice bilo koje veličine, posebno web-mjesta koja imaju veliki promet.
Obično se koristi u LEMP (Linux Nginx MySQL/MariaDB PHP) stogu; Nginx koristi PHP FastCGI za posluživanje dinamičkog HTTP sadržaja na mreži. Koristi se za posluživanje milijuna PHP zahtjeva za stotine web stranica na web poslužiteljima na internetu.
Pročitajte također: Kako omogućiti stranicu statusa NGINX-a
Jedna od korisnih značajki php-fpm je ugrađena stranica statusa, koja vam može pomoći u praćenju njegovog stanja. U ovom ćemo članku pokazati kako omogućiti stranicu statusa PHP-FPM na Linuxu.
Kako omogućiti PHP-FPM statusnu stranicu u Linuxu
Prvo otvorite konfiguracijsku datoteku php-fpm i omogućite stranicu statusa kao što je prikazano.
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
Unutar ove datoteke pronađite i skinite komentar s varijable pm.status_path=/status
kao što je prikazano na snimci zaslona.
Spremite promjene i izađite iz datoteke.
Zatim provjerite ima li grešaka u konfiguracijskoj datoteci PHP-FPM pokretanjem donje naredbe.
sudo php-fpm -t
OR
sudo php7.2-fpm -t
Zatim ponovno pokrenite uslugu PHP-FPM kako biste primijenili nedavne promjene.
sudo systemctl restart php-fpm
OR
sudo systemctl restart php7.2-fpm
Zatim uredite konfiguracijsku datoteku zadanog bloka poslužitelja (virtualnog hosta) i dodajte blok lokacije u nastavku. Na primjer, na testnom sustavu, konfiguracijska datoteka zadanog poslužiteljskog bloka je /etc/nginx/conf.d/default.conf, za web mjesto test.lab.
sudo vim /etc/nginx/conf.d/default.conf
Ovdje je blok lokacije koji treba dodati. U ovoj konfiguraciji dopustili smo samo pristup statusu procesa PHP-FPM unutar lokalnog hosta korištenjem direktive allow 127.0.0.1 iz sigurnosnih razloga.
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;
}
Spremite datoteku i zatvorite je.
Zatim ponovno pokrenite Nginx poslužitelj kako biste primijenili gore navedene promjene.
sudo systemctl restart nginx
Sada otvorite preglednik i upišite URL http://test.lab/status
da vidite status vašeg PHP-FPM procesa.
Alternativno, koristite program curl na sljedeći način, gdje zastavica -L
navodi lokaciju stranice.
curl -L http://test.lab/status
Prema zadanim postavkama stranica statusa ispisuje samo sažetak ili kratki status. Da biste vidjeli status za svaki proces skupa, proslijedite “full” u nizu upita, na primjer:
http://www.foo.bar/status?full
Možete definirati izlazni format (JSON, HTML ili XML) kao što je prikazano.
http://www.foo.bar/status?json&full
http://www.foo.bar/status?html&full
http://www.foo.bar/status?xml&full
Ispod su vrijednosti vraćene u php-fpm punom statusu, za svaki proces:
- pid – PID procesa.
- Stanje statusa procesa (u mirovanju, u tijeku, itd.).
- vrijeme početka – datum i vrijeme početka procesa.
- pokreni od – broj sekundi od početka procesa.
- zahtjevi – broj zahtjeva koje je proces poslužio.
- trajanje zahtjeva – trajanje zahtjeva u µs.
- metoda zahtjeva – metoda zahtjeva (GET, POST, itd.).
- URI zahtjeva – URI zahtjeva s nizom upita.
- duljina sadržaja – duljina sadržaja zahtjeva (samo s POST-om).
- korisnik – korisnik (PHP_AUTH_USER) (ili ‘-’ ako nije postavljen).
- skripta – pozvana glavna skripta (ili ‘-’ ako nije postavljena).
- cpu zadnjeg zahtjeva – %cpu zadnji potrošeni zahtjev (imajte na umu da je uvijek 0 ako proces nije u stanju mirovanja).
- memorija zadnjeg zahtjeva – maksimalna količina memorije koju je posljednji zahtjev potrošio (uvijek je 0 ako proces nije u stanju mirovanja).
To je to za sada! U ovom smo članku objasnili kako omogućiti stranicu statusa php-fpm pod Nginx web poslužiteljem. Upotrijebite obrazac za povratne informacije u nastavku kako biste s nama podijelili svoje mišljenje.