Install PHP-FPM dan Nginx di Ubuntu Server 16.04

PHP-FPM dan Nginx

Ada beberapa server web yang sering digunakan seperti Apache, Nginx, Litespeed, dll. Saya lebih cenderung menyukai Nginx karena kemampuannya yang bagus dengan spesifikasi hardware yang minim. Kekhususan Nginx (dibaca : Engine X) adalah untuk melayani pemrosesan file-file statis web. Untuk itu diperlukan PHP-FPM untuk pemrosesan file-file dinamis.

Sekilas tentang PHP

PHP bisa dikatakan sebagai bahasa paling populer saat ini sebagai bahasa pemrograman web yang bekerja di sisi server. PHP di kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group.

Perbandingan bahasa pemrograman web
Perbandingan Bahasa pemrograman web

Sifat PHP adalah intrepreter language, yang berarti kode program dijalankan oleh program interpreter yang menterjemahkan ke dalam bahasa mesin. Proses ini sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses penterjemahan dilaksanakan sebelum program tersebut dieksekusi.

Instalasi Nginx

sudo apt-get update
sudo apt-get install -y nginx
sudo service nginx start

Coba jalankan web browser lalu masukkan alamat http://localhost

Welcome screen Nginx
Welcome screen Nginx web Server

Apabila di localhost tampil halaman seperti di atas, maka berarti instalasi Nginx berjalan baik dan berhasil menampilkan halaman default.

Install PHP7.2-FPM

Update paket Ubuntu

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install software-properties-common

Menambahkan repository php 7.2

sudo add-apt-repository ppa:ondrej/php

Update repository paket Ubuntu

sudo apt-get update

Install paket PHP 7.2 dan paket-paket pendukungnya.

sudo apt-get install php7.2 php7.2-fpm php7.2-common php7.2-cli php7.2-mysql php7.2-json php7.2-gd php7.2-mbstring

Konfigurasi PHP7.2-FPM dan Nginx

Agar web server Nginx dapat bekerjasama dengan PHP7.2-FPM dalam melayani file-file statis (Nginx) dan file-file dinamis (PHP-FPM), perlu dilakukan konfigurasi pada Nginx.

sudo nano /etc/nginx/sites-available/default
Konfigurasi Nginx
Konfigurasi

Tambahkan index.php pada baris index. Tujuannya agar file pertama yang dilayani nanti adalah file index.php.

File /etc/nginx/sites-available/default
Konfigurasi Nginx default

Cari blok konfigurasi FastCGI seperti gambar di atas. Lakukan perubahan pada file tersebut agar Nginx dapat mengenali PHP-FPM.

Ubah konfigurasi Nginx
Ubah file konfigurasi Nginx

Lakukan perubahan dengan menghapus komentar (#). FastCGI di sini menggunakan PHP7.2-fpm. Setelah diubah tekan tombol Ctrl-O diikuti Enter untuk menyimpan perubahan. Lalu tekan tombol Ctrl-X untuk keluar dari editor Nano.

Testing hasil perubahan konfigurasi nginx :

sudo nginx -t
Testing konfigurasi Nginx
Testing konfigurasi Nginx

Apabila tampil seperti di atas, maka itu berarti file konfigurasi Nginx sudah benar. Apabila masih ada kesalahan, silakan betulkan dulu file konfigurasinya.

Untuk mengetes apakah PHP-FPM sudah berjalan, kita buat sebuah file php di lokasi folder root server web :

nano /var/www/html/info.php
<?php phpinfo(); ?>

Simpan perubahan file info.php dengan menekan tombol Ctrl-O dilanjutkan Enter, lalu Ctrl-X untuk keluar.

Buka browser, lalu ketikkan alamat http://localhost/info.php.

phpinfo()
Halaman info.php

Apabila telah tampil halaman phpinfo() di atas, berarti instalasi sudah dilakukan dengan benar.

Troubleshoot: hubungi saya di bagian komentar halaman artikel ini. 🙂

Setelah berhasil melakukan instalasi PHP, PHP-FPM dan Nginx maka bersama dengan database mysql terbentuk Stack Pemrograman Web berbasis PHP di server yang lazim disingkat LEMP (Linux, Nginx, MySQL, PHP)

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *