Mengenal PHP-FPM
Buat kalian yang sering melakukan install/konfigurasi LEMP Stack pasti sudah tak asing lagi tentang PHP-FPM. Ya, PHP-FPM merupakan salah satu dari komponen packages LEMP Stack yang di install dan diperlukan dalam LEMP Stack, tapi apa sih sebenarnya PHP-FPM itu?. PHP-FPM (FastCGI Process Manager) merupakan sebuah implementasi alternatif dari PHP FastCGI yang di lengkapi dengan beberapa fitur tambahan yang berguna untuk menangani website yang memiliki trafik kunjungan yang tinggi.
NGINX menggunakan PHP FastCGI untuk menyajikan kontent dinamis HTTP, yang mana untuk menyajikan sebuah kontent dinamis pada website dengan trafik tinggi biasanya terdapat jutaan request PHP yang dikirimkan ke web server sehingga untuk menghandle semua request tersebut maka NGINX membutuhkan PHP-FPM ini dalam menangani request-request tersebut.
Karena PHP-FPM ini sangat diperlukan oleh NGINX maka ketika LEMP web server ini sudah berjalan kalian perlu memantau service PHP-FPM. Untuk memantau service PHP-FPM ini kalian bisa mengaktifkan fitur status page pada konfigurasi php-fpm. Bagaimana cara monitoring PHP-FPM di NGINX, kita bahas lebih lanjut.
Monitoring PHP-FPM di NGINX
Jika sebelumnya kalian telah melakukan install NGINX di VPS/Server kalian maka kalian hanya perlu melakukan konfigurasi pada php-fpmnya, namun jika kalian belum melakukan install NGINX di VPS/Server kalian bisa ke panduan kami sebelumnya terkait Cara Install LEMP Stack di VPS. Untuk memonitoring php-fpm melalui status page, konfigurasinya seperti berikut ini :
-
Edit file
/etc/php-fpm.d/www.conf
Untuk mengaktifkan status page php-fpm kalian perlu melakukan edit pada file www.conf
pada folder /etc/php-fpm.d
dengan command berikut ini :
vim /etc/php-fpm.d/www.conf
Kemudian cari baris/line berikut ini :
;pm.status_path = /status
hapus tanda ;
sehingga menjadi sperti berikut ini :
pm.status_path = /status
selanjutnya silakan simpan konfigurasinya dan lakukan pengecekan atau tes konfigurasi dengan command berikut ini :
php-fpm -t
Jika hasilnya kurang lebih seperti berikut ini, artinya konfigurasi kalian sudah benar.
[19-Jun-2019 22:35:32] NOTICE: configuration file /etc/php-fpm.conf test is successful
-
Edit konfigurasi virtualhost
Setelah melakukan konfigurasi pada file www.conf
di folder /etc/php-fpm.d
lalu tambahkan konfigurasi pada virtualhost NGINX, untuk defaultnya virtualhost biasanya masih terdapat pada file nginx.conf
namun jika sudah membuat file virtualhost tersendiri kalian bisa sesuaikan dengan file virtualhost kalian. Untuk edit konfigurasi virtualhost silakan jalankan command berikut ini :
vim /etc/nginx/nginx.conf
Pada bagian blok virtualhost server { ... }
kalian bisa tambahkan di baris akhir sebelum }
untuk konfigurasi path status page seperti berikut ini :
location ~ ^/(status|ping) {
allow 127.0.0.1
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
Jika sudah menambahkan baris tersebut silakan kalian save konfigurasi dan bisa kalian cek konfigurasi virtualhostnya dengan menggunakan command :
nginx -t
Dan jika hasil pengecek kurang lebih seperti berikut ini, maka konfigurasi kalian sudah benar.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
-
Pengujian
Untuk pengujian konfigurasi setelah konfigurasi 2 file tersebut kalian perlu melakukan restart service php-fpm
dan nginx
terlebih dahulu agar konfigurasi yang kalian tambahkan sebelum dapat terimplementasi, untuk command restart service kalian bisa jalankan command :
systemctl restart nginx
systemctl restart php-fpm
Jika kedua service sudah ter-restart secara baik, maka silakan kalian coba akses url status page yang ada di http://ip_address/status
atau http://domain.com/status
dan nanti akan muncul tampilan di browser kurang lebih seperti berikut ini.
Kesimpulan
Bagi kalian yang mempunyai web server dengan website yang memiliki trafik tinggi dan menggunakan NGINX sebagai service web servernya kalian juga perlu melakukan monitoring terhadap service php-fpm. Seperti yang telah kita ketahui sebelumnya php-fpm merupakan implementasi dari PHP Fastcgi yang digunakan oleh NGINX untuk menyajikan konten dinamis HTTP maka dari itu process dari php-fpm perlu kita pantau juga, apakah process yang berjalan sudah melebihi sehingga menyebabkan error atau tidak.
Kami NimeTech.com memberikan pilihan opsional kepada pengguna Jasa Manage VPS/Server kami untuk mengaktifkan fitur monitoring php-fpm ini atau tidak sesuai dengan kebutuhan yang diperlukan.