Pada umumnya kalau menggunakan PHP-FPM maka yang dipakai untuk mendengarkan secara default permintaan proses PHP adalah lewat port TCP/IP (umumnya di 127.0.0.1:9000), ya masih di localhost hitungannya. Tapi sebenarnya ada satu setting yang bisa meningkatkan performa pengolahan proses PHP-FPM yakni dengan menggunakan Unix Socket. Jadi cukup diganti saja. Caranya sendiri cukup mudah kok. 🙂

Bagaimana cara menukar port TCP/IP menjadi Unix Socket pada PHP FPM? Pertama mari kita edit konfigurasi PHP-FPM, nama filenya bisa berbeda tergantung apa distro Linux dan bagaimana anda menginstallnya. Cukup sering dinamakan www.conf atau php-fpm.conf.

nano /etc/php5/fpm/pool.d/www.conf

atau

nano /usr/local/etc/php-fpm.conf

Atau bisa juga tempatnya lain, silahkan diadaptasikan.

Langkah selanjutnya ubah:

listen = 127.0.0.1:9000

menjadi

listen = /var/run/php5-fpm.sock

atau

listen = /tmp/php5-fpm.sock

Aslinya sih sudah selesai dari sisi PHP-FPM, berikutnya saya lanjutkan untuk konfigurasi Nginx. Silahkan edit konfigurasi virtual hostnya, bisa ditemukan di/etc/nginx/sites-available/ atau lokasi lainnya jadi tinggal dicari.

Yang perlu dimodifikasi kodenya biasanya ada dalam blok pemroses PHP dan gantikan:

fastcgi_pass   127.0.0.1:9000;

menjadi

fastcgi_pass unix:/var/run/php5-fpm.sock;

atau

fastcgi_pass   unix:/tmp/php5-fpm.sock;

Setelah itu silahkan reload konfigurasi PHP-FPM juga Nginx:

service php5-fpm reload && service nginx reload

Kalau tidak anda lakukan nanti yang terjadi adalah error 502 Bad Gateway.

Untuk lokasi Unix Socket saya berikan 2 karena memang bisa berbeda. Lagi, ini memang tergantung bagaimana anda menginstallnya. Oh ya, walaupun saya katakan performa Unix Socket lebih bagus dari port TCP/IP bukan berarti perbedaannya signifikan. Selisihnya akan terasa kalau trafiknya besar dan masih menggunakan satu server. Kalau sudah disebar ke beberapa server akan lebih baik memanfaatkan sistem TCP/IP.

Selesai dan semoga bermanfaat. 🙂