Mengatasi 502 Bad Gateway pada Nginx
Akhir minggu bukannya bersantai malah sibuk ngurusin server. Haha. 😀 Kali ini masalah yang saya alami adalah pada website WordPress yang menggunakan Nginx dan didepannya ada CloudFlare kok malah muncul error HTTP 502 Bad Gateway. Padahal saya masih bisa mengakses situsnya kalau lewat alamat IP atau localhost dengan lynx lewat SSH. Ada yang salah ini. 🙁
Yang pasti kalau anda melihat halaman putih Nginx disertai pesan error berikut berarti kasusnya sama:
502 Bad Gateway
502 Proxy Error
502 Bad Gateway NGINX
502 Service Temporarily Overloaded
Error 502
HTTP 502
HTTP Error 502 – Bad Gateway
Restart PHP-FPM
Merupakan solusi paling mudah dan cepat, anda tinggal ketikkan:
service php5-fpm restart
Ini
bisa dikatakan sifatnya sementara karena kita tidak berusaha mencari
tahu dan memperbaiki masalahnya. Setelah servicenya aktif lagi wajib
anda mengecek isi log error PHP-FPM agar bisa didiagnosa masalahnya apa.Pastikan layanan PHP-FPM mendengarkan dengan tepat
Ada 2 jenis cara layanan PHP-FPM mendengarkan dan melayani request, lewat socket atau alamat IP. Silahkan cek konfigurasinya (bernama
www.conf
) dan pastikan isinya salah satu dari berikut ini, atau anda tukar:listen = /var/run/php5-fpm.sock
ataulisten = 127.0.0.1:9000
Setelah itu restart PHP-FPM.Cek hak akses PHP-FPM
Ada kalanya kita lupa mengatur bagaimana file – file service PHP-FPM akan digunakan oleh Nginx. Pastikan saja memang bisa saling berkomunikasi:
- Lihat isi
php.ini
danwww.conf
dalam bagian user dan group apakah sesuai dengan konfigurasi Nginx ada. - Apakah file
/var/run/php5–fpm.sock
bisa dipakai Nginx? - Termasuk juga
/var/lib/php
harap diperiksa.
APC (Alternative PHP Cache) fungsinya adalah membuat cache dari kode – kode PHP yang dieksekusi agar pada proses berikutnya yang membutuhkan fungsi yang sama akan lebih cepat diolah. Tapi kadang fitur ini berakibat error 502, saya sarankan agar dicoba dulu nonaktifkan.
Saya sarankan diganti ke alternatifnya saja. Pertimbangannya ini adalah sistem lama dan sudah digantikan oleh PHP OPcache, coba gunakan yang baru dan resmi diikutkan dalam PHP versi 5.5 keatas.
Tingkatkan ukuran buffer dan timeout pada konfigurasi Nginx
Jadi silahkan edit
nginx.conf
dan letakkan kode berikut dalam blok http{}
:http {
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
Fungsinya agar Nginx mengolah data dengan wadah yang
lebih besar dalam memori sehingga tidak perlu disimpan dalam harddisk
sementara waktu. Juga waktu prosesnya diberi batas waktu lebih lama agar
tidak langsung dianggap gagal.Sekian dulu sampai disini pembahasannya, saya baru tahu beberapa solusi diatas. Hehe. 😀 Dan saya baru sadar walaupun judulnya Nginx tapi solusinya ada 4 yang utak – atik PHP-FPM dan cuma 1 yang urusannya dengan Nginx. Haha. 😀
Tidak ada komentar:
Posting Komentar