PHP-FPM-tilan käyttöönotto ja seuranta Nginxissä
PHP-FPM (FastCGI Process Manager) on vaihtoehtoinen PHP FastCGI -toteutus, joka sisältää useita lisäominaisuuksia, jotka ovat hyödyllisiä kaikenkokoisille verkkosivustoille. erityisesti sivustot, jotka saavat paljon liikennettä.
Sitä käytetään yleisesti LEMP (Linux Nginx MySQL/MariaDB PHP) -pinossa; Nginx käyttää PHP FastCGI:tä dynaamisen HTTP-sisällön tarjoamiseen verkossa. Sitä käytetään palvelemaan miljoonia PHP-pyyntöjä sadoille verkkosivustoille Internetin web-palvelimilla.
Lue myös: NGINX-tilasivun käyttöönotto
Yksi php-fpm:n hyödyllisistä ominaisuuksista on sisäänrakennettu tilasivu, jonka avulla voit seurata sen tilaa. Tässä artikkelissa näytämme, kuinka PHP-FPM-tilasivu otetaan käyttöön Linuxissa.
Kuinka ottaa PHP-FPM-tilasivu käyttöön Linuxissa
Avaa ensin php-fpm-määritystiedosto ja ota tilasivu käyttöön kuvan mukaisesti.
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
Etsi tästä tiedostosta muuttuja pm.status_path=/status
ja poista kommentit kuvakaappauksen mukaisesti.
Tallenna muutokset ja poistu tiedostosta.
Tarkista seuraavaksi, että PHP-FPM-määritystiedostossa ei ole virheitä suorittamalla alla oleva komento.
sudo php-fpm -t
OR
sudo php7.2-fpm -t
Käynnistä sitten PHP-FPM-palvelu uudelleen ottaaksesi viimeaikaiset muutokset käyttöön.
sudo systemctl restart php-fpm
OR
sudo systemctl restart php7.2-fpm
Muokkaa seuraavaksi oletusarvoista palvelinlohkoa (virtuaalipalvelin) ja lisää siihen alla oleva sijaintilohko. Esimerkiksi testijärjestelmässä oletuspalvelinlohkon konfiguraatiotiedosto on /etc/nginx/conf.d/default.conf sivustolle test.lab.
sudo vim /etc/nginx/conf.d/default.conf
Tässä on lisättävä sijaintilohko. Tässä konfiguraatiossa olemme sallineet pääsyn vain PHP-FPM-prosessin tilaan paikallispalvelimessa käyttämällä ohjetta allow 127.0.0.1 turvallisuussyistä.
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;
}
Tallenna tiedosto ja sulje se.
Käynnistä sitten Nginx-palvelin uudelleen ottaaksesi käyttöön yllä olevat muutokset.
sudo systemctl restart nginx
Avaa nyt selain ja kirjoita URL-osoite http://test.lab/status
nähdäksesi PHP-FPM-prosessisi tilan.
Vaihtoehtoisesti voit käyttää curl-ohjelmaa seuraavasti, jossa -L
-lippu määrittää sivun sijainnin.
curl -L http://test.lab/status
Oletusarvoisesti tilasivu tulostaa vain yhteenvedon tai lyhyen tilan. Jos haluat tarkastella kunkin pooliprosessin tilaa, kirjoita kyselymerkkijonoon "full", esimerkiksi:
http://www.foo.bar/status?full
Voit määrittää tulostusmuodon (JSON, HTML tai XML) kuvan mukaisesti.
http://www.foo.bar/status?json&full
http://www.foo.bar/status?html&full
http://www.foo.bar/status?xml&full
Alla on arvot, jotka palautetaan php-fpm täydessä tilassa jokaiselle prosessille:
- pid – prosessin PID.
- tila prosessin tila (joutokäynti, käynnissä jne.).
- aloitusaika – päivämäärä ja kellonaika, jolloin prosessi on alkanut.
- aloitus alkaen – sekuntimäärä prosessin alkamisesta.
- pyynnöt – prosessin toimittamien pyyntöjen määrä.
- pyynnön kesto – pyyntöjen kesto µs.
- pyyntötapa – pyyntömenetelmä (GET, POST jne.).
- Request URI – Pyydä URI kyselymerkkijonolla.
- sisällön pituus – pyynnön sisällön pituus (vain POST-testillä).
- käyttäjä – käyttäjä (PHP_AUTH_USER) (tai "-", jos sitä ei ole asetettu).
- script – pääskripti kutsutaan (tai "-", jos sitä ei ole asetettu).
- viimeinen pyyntö suoritin – %cpu viimeksi käytetty pyyntö (huomaa, että se on aina 0, jos prosessi ei ole lepotilassa).
- viimeisen pyynnön muisti – viimeisen pyynnön käyttämä muistin enimmäismäärä (se on aina 0, jos prosessi ei ole lepotilassa).
Siinä se toistaiseksi! Tässä artikkelissa olemme selittäneet, kuinka php-fpm-tilasivu otetaan käyttöön Nginx-verkkopalvelimessa. Käytä alla olevaa palautelomaketta jakaa ajatuksesi kanssamme.