Cara Install PHP-FPM di Ubuntu untuk NGINX dan Laravel

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/.