Nginx web sunucusunda barındırılan bir siteye girdiğinizde karşınıza çıkan 502 Bad Gateway hatası, Nginx'in arkasındaki bir servisten (genellikle PHP-FPM, Apache veya Node.js) geçersiz bir yanıt aldığı anlamına gelir. Bu hata, sanal sunucu kullanıcılarının en sık karşılaştığı sorunlardan biridir ve genellikle sunucu tarafındaki bir tıkanıklığı işaret eder.
1. PHP-FPM Servisini Kontrol Edin
Bu hatanın %80'i çökmüş veya kilitlenmiş bir PHP-FPM servisinden kaynaklanır. Öncelikle SSH üzerinden sunucunuza bağlanıp servisin durumunu kontrol edin ve yeniden başlatın:
systemctl status php-fpm
systemctl restart php-fpm
Eğer Ubuntu/Debian kullanıyorsanız komutu systemctl restart php7.4-fpm (kullandığınız sürüme göre) olarak güncellemelisiniz.
2. Nginx Loglarını Okuyun
Sorunun kesin kaynağını bulmak için Nginx hata kayıtlarına (error.log) bakmak en doğru yöntemdir:
tail -f /var/log/nginx/error.log
Ekranda "upstream prematurely closed connection" gibi bir ibare görüyorsanız, arkadaki servisin (PHP vb.) Nginx cevabını tamamlamadan kapandığını anlayabilirsiniz.
3. Zaman Aşımı (Timeout) Değerlerini Artırın
Özellikle WordPress gibi sistemlerde ağır bir eklenti veya sorgu çalışıyorsa, PHP işleminin bitmesi uzun sürebilir ve Nginx zaman aşımına uğrayıp 502 hatası verebilir. Nginx yapılandırma dosyasındaki (nginx.conf veya ilgili vhost dosyası) timeout değerlerini artırmayı deneyin:
fastcgi_read_timeout 300;
proxy_read_timeout 300;
Ayarları yaptıktan sonra nginx -t ile yapılandırmayı test edip Nginx'i yeniden başlatın (systemctl restart nginx).
Sunucu tarafındaki bu optimizasyonlar hakkında endişelenmek istemiyorsanız, İyibirNet VDS Sunucu hizmetlerimizde uzman teknik ekibimizden destek alabilirsiniz.