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 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. 🙂
mas chandra,
kode
php5-fpm.sock
itu untuk debian dan ubuntu ya?kalau centos apa betul seperti ini kodenya :
/var/run/php-main.socket
kode diatas bisa untuk semua jenis php kan mas, mungkin beda antara versi 5.6 dan 7.
Eh masa mbak? Saya mendasarkan di CentOS 7nya DigitalOcean ini. Pakai PHP 5.6 sih.
Kalau PHP 7.0 saya malah ketemu yang di
/var/run/php/php7.0-fpm.sock;
. Trims infonya mbak.Di cek setatus keluarnya seperti itu, itu kenapa ya mas?
Itu… sehat wal afiat mas. Tidak ada masalah, cuma karena ga ada trafik ya nganggur semua mesin PHPnya. Itu banyak sekali mas workernya? Berapa calon trafiknya?
calon trafik itu apa mas? aku ini nubie mas
Oh maksud saya mas trafiknya berapa kok worker PHPnya sebanyak itu.
Trafik saya juga ga ngerti mas …. :LoL . ampun mas ini saya memang baru nol masalah beginian, ya sudah lah biarkan saja hehehe
Jumlah pengunjung mas maksud saya. 🙂 Itu kalau workernya terlalu banyak dan ga imbang sama spesifikasi server bisa boros memori minimal.
Jumlah pengunjungnya cuma saya saja mas, cuma sering saya klik aja buat tes,
dan sekarang malah banyak error mas rasa rasanya pengen mau menyerah belajar beginian, sudah capek begadang terus mas
Saya paham mas. 😀 Dulu saya pertama kali belajar juga gagal total, akhirnya ngambek sendiri sebulan stop ngurusin. Hehe. 🙂 Kadang pikiran harus fresh mas, ga bisa dipaksakan malah stres.
Ada solusi yang lebih gampang mas, ambil jalan tengahnya install EasyEngine.
Ini misalnya saya rebuild malah ga cepet bisa ya mas? apakah begitu?
saya gagal pada bagian https sekaligus diarahkan ke www
Saya pernah install cenmintmod mengikuti cara disini mungkin menurut saya itu sama dengan EasyEngine, dan ternyata yang sering disebut sebut oleh komentator disini termasuk mas Candra juga, ee (tanpa K) hahahaha… adalah EasyEngine, saya baru tahu sekarang.
cenmintmod 5 menit langsung saya hapus karena melihat installan begitu banyak saya jadi binggung yang di install itu sebenarnya perlu atau tidak, dan saya sekarang belajar manual aja mungkin ilmunya lebih bagus.
Centminmod menurut saya pribadi lebih bagus daripada EasyEngine mas, tapi memang lebih rumit sedikit.
Pakai EE sudah cukup mas, tinggal install, tambahkan websitenya, dan aktifkan HTTPS. Mudah kok.
Santai saja mas belajarnya. Sambil jalan dan kalau perlu saja malah enjoy. 😀
Tanya donk, php-fpm suka stop sendiri sehingga menyebabkan error 502 bad gateway
Ada log php fpm gak ya biar tau dia stop karena apa?
Terima kasih
Mas ini pakai distro apa? Install PHP versi?
Kalau pakai asumsi coba eksekusi ini:
Silahkan dicopas biar dipelajari bersama – sama. 😀
Klo supaya pake tcp lbh dari 1 server gmn ?
Kemaren ane error
Pas trafiik mulai naik
Itu ga pakai TCP mas, pakai Unix Socket metodenya. Kemungkinan bermasalah karena tingginya I/O. Coba ganti VPS ke SSD minimal.