Instalasi PHP-FPM (FastCGI Process Manager) pada sistem operasi Ubuntu merupakan langkah fundamental dalam membangun server web berperforma tinggi menggunakan NGINX, terutama untuk menjalankan kerangka kerja modern seperti Laravel atau sistem manajemen konten seperti WordPress.
Persiapan Awal Sistem Ubuntu
Sebelum melakukan instalasi paket PHP-FPM, pastikan daftar paket pada sistem Ubuntu Anda berada dalam kondisi paling mutakhir. Jalankan perintah pembaruan melalui terminal:
sudo apt update
sudo apt upgrade -y
Langkah Instalasi PHP-FPM
Langkah berikutnya adalah menginstal PHP-FPM beserta ekstensi esensial yang umumnya dibutuhkan oleh aplikasi web modern. Pada contoh ini, kita menggunakan versi PHP yang tersedia pada repository resmi Ubuntu.
sudo apt install php-fpm php-mysql php-mbstring php-xml php-bcmath php-curl -y
Verifikasi Layanan PHP-FPM
Setelah proses instalasi selesai, service PHP-FPM akan berjalan secara otomatis di latar belakang. Anda dapat memeriksa status layanan tersebut untuk memastikan tidak ada kendala:
sudo systemctl status php8.1-fpm
Catatan: Sesuaikan angka versi (misal php8.1-fpm) dengan versi PHP yang terinstal pada sistem Anda.
Tabel Konfigurasi dan Direktori Utama PHP-FPM
| Komponen | Lokasi Path / Perintah | Keterangan |
|---|---|---|
| File Konfigurasi Utama | /etc/php/8.1/fpm/php.ini |
Pengaturan direktif PHP global |
| Konfigurasi Pool | /etc/php/8.1/fpm/pool.d/www.conf |
Pengaturan worker process, socket, dan port |
| Socket File | /run/php/php8.1-fpm.sock |
Jalur komunikasi antara NGINX dan PHP-FPM |
| Restart Service | sudo systemctl restart php8.1-fpm |
Perintah untuk memuat ulang konfigurasi |
Integrasi PHP-FPM dengan NGINX
Agar NGINX dapat memproses file PHP menggunakan PHP-FPM, Anda perlu mengubah konfigurasi server block pada NGINX. Buka file konfigurasi situs Anda (misalnya /etc/nginx/sites-available/default) dan pastikan blok lokasi untuk PHP dikonfigurasi menggunakan Unix Socket:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
Uji konfigurasi NGINX Anda untuk memastikan tidak ada kesalahan sintaks, lalu muat ulang layanan NGINX:
sudo nginx -t
sudo systemctl reload nginx
Troubleshooting Umum
Jika Anda mendapati galat Bad Gateway pada browser, hal tersebut biasanya disebabkan oleh ketidaksesuaian path socket pada file konfigurasi NGINX dengan versi PHP-FPM yang aktif. Pastikan path pada baris fastcgi_pass merujuk tepat pada file .sock yang ada di direktori /run/php/ atau /var/run/php/.