Mengatasi Nginx 504 Gateway Timeout
Kesalahan 504 berarti nginx menunggu terlalu lama untuk mendapatkan respons dan waktu habis. Mungkin ada beberapa alasan untuk masalah ini. Kemungkinan perbaikannya meliputi: Meningkatkan default nginx proxy_read_timeout yang semula lima menit menjadi lebih lama, misalnya menjadi 10 menit.
Untuk meningkatkan batasan waktu komunikasi server nginx bisa mengikuti cara berikut :
1. Edit nginx.conf
nano /etc/nginx/nginx.conf
Tambahkan perintah berikut :
fastcgi_read_timeout 6000;
2. Edit konfigurasi PHP.
Letak file konfigurasi ini mungkin berbeda beda pada tiap server.
nano /etc/php.ini
Naikan valuenya menjadi 6000 atau bisa juga lebih tinggi tergantung kebutuhan klien.
max_execution_time = 6000
3. Edit konfigurasi php-fpm
nano /etc/php-fpm.d/www.conf
Tambahkan baris berikut :
request_terminate_timeout = 6000
4. Reload nginx dan restart php-fpm
nginx -s reload
service php-fpm restart
service php-fpm restart
Apabila error 504 gateway timeout masih terjadi, naikan valuenya menjadi lebih besar dari 6000. Periksa juga script, apakah didalam script halaman web merequest konten dari layanan / server lain yang ada kemungkinan sourcenya dialihkan permanen atau sudah dihapus. Ini pengalaman pribadi saya waktu nge-grab konten dari lookup.dbpedia.org ternyata layanan API nya saya cek sudah ga bisa diakses atau mungkin IP saya yang diblock. Sehingga server menghasilkan pesan 504 gateway timeout.