Konfigurasi PHP-FPM agar menggunakan Unix Socket
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 tempat 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 tempat 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. 🙂