Cara Mengaktifkan dan Memantau Status PHP-FPM di Nginx


PHP-FPM (FastCGI Process Manager) adalah implementasi PHP FastCGI alternatif yang hadir dengan sejumlah fitur tambahan yang berguna untuk situs web dengan ukuran berapa pun, khususnya situs yang menerima lalu lintas tinggi.

Ini biasanya digunakan di tumpukan LEMP (Linux Nginx MySQL/MariaDB PHP); Nginx menggunakan PHP FastCGI untuk menyajikan konten HTTP dinamis di jaringan. Ini digunakan untuk melayani jutaan permintaan PHP untuk ratusan situs web di server web di internet.

Baca Juga: Cara Mengaktifkan Halaman Status NGINX

Salah satu fitur berguna php-fpm adalah halaman status bawaan, yang dapat membantu Anda memantau kesehatannya. Pada artikel ini, kami akan menunjukkan cara mengaktifkan halaman status PHP-FPM di Linux.

Cara Mengaktifkan Halaman Status PHP-FPM di Linux

Pertama buka file konfigurasi php-fpm dan aktifkan halaman status seperti yang ditunjukkan.

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

Di dalam file ini, temukan dan hapus komentar pada variabel pm.status_path=/status seperti yang ditunjukkan pada tangkapan layar.

Simpan perubahan dan keluar dari file.

Selanjutnya, periksa apakah ada kesalahan pada file konfigurasi PHP-FPM dengan menjalankan perintah di bawah ini.

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

Kemudian mulai ulang layanan PHP-FPM untuk menerapkan perubahan terkini.

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

Selanjutnya, edit file konfigurasi blok server (host virtual) default Anda dan tambahkan blok lokasi di bawah ini ke dalamnya. Misalnya pada sistem pengujian, file konfigurasi blok server default adalah /etc/nginx/conf.d/default.conf, untuk situs test.lab.

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

Berikut adalah blok lokasi yang akan ditambahkan. Dalam konfigurasi ini, kami hanya mengizinkan akses ke status proses PHP-FPM dalam localhost menggunakan perintah allow 127.0.0.1 untuk alasan keamanan.

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;
}

Simpan file dan tutup.

Kemudian restart server Nginx untuk menerapkan perubahan di atas.

sudo systemctl restart nginx

Sekarang buka browser dan ketik URL http://test.lab/status untuk melihat status proses PHP-FPM Anda.

Alternatifnya, gunakan program curl sebagai berikut, dengan tanda -L yang menentukan lokasi halaman.

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

Secara default, halaman status hanya mencetak ringkasan atau status singkat. Untuk melihat status setiap proses kumpulan, teruskan “full ” dalam string kueri, misalnya:

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

Anda dapat menentukan format keluaran (JSON, HTML atau XML) seperti yang ditunjukkan.

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

Di bawah ini adalah nilai yang dikembalikan dalam status lengkap php-fpm, untuk setiap proses:

  • pid – PID proses.
  • status status proses (idle, berjalan, dll.).
  • waktu mulai – tanggal dan waktu proses dimulai.
  • mulai sejak – jumlah detik sejak proses dimulai.
  • permintaan – jumlah permintaan yang telah dilayani oleh proses.
  • durasi permintaan – durasi dalam µs dari permintaan.
  • metode permintaan – metode permintaan (GET, POST, dll.).
  • URI permintaan – URI permintaan dengan string kueri.
  • panjang konten – panjang konten permintaan (hanya dengan POST).
  • pengguna – pengguna (PHP_AUTH_USER) (atau '-' jika tidak disetel).
  • skrip – skrip utama dipanggil (atau '-' jika tidak disetel).
  • cpu permintaan terakhir – %cpu permintaan terakhir yang digunakan (perhatikan bahwa selalu 0 jika proses tidak dalam keadaan Idle).
  • memori permintaan terakhir – jumlah maksimum memori yang digunakan permintaan terakhir (selalu 0 jika proses tidak dalam keadaan Idle).

Itu saja untuk saat ini! Pada artikel ini, kami telah menjelaskan cara mengaktifkan halaman status php-fpm di server web Nginx. Gunakan formulir umpan balik di bawah ini untuk menyampaikan pemikiran Anda kepada kami.