Nginx 502 Bad Gateway Hatası Nasıl Düzeltilir? Adım Adım Çözüm

Nginx 502 Bad Gateway Hatası Nasıl Düzeltilir? Adım Adım Çözüm

Nginx 502 Bad Gateway hatasını nasıl düzeltebileceğinizi öğrenin. Adım adım çözüm önerileri ve detaylı açıklamalarla web sunucusu hatalarını giderin.

BFS

Bir sabah, Nginx sunucusunda bir hata ile karşılaşırsınız: 502 Bad Gateway hatası. Bu hata, web sitenizin ziyaretçilerine ulaşmasını engeller ve siz de paniğe kapılabilirsiniz. Ancak endişelenmeyin, bu hatayı çözmek aslında sandığınız kadar zor değil. Hadi, adım adım bu hatayı nasıl düzelteceğimizi keşfedelim!

502 Bad Gateway Hatası Nedir?



Öncelikle, 502 Bad Gateway hatasının ne olduğunu anlamamız gerekiyor. Bu hata, genellikle bir sunucu, başka bir sunucudan gelen geçerli bir yanıt alamadığında ortaya çıkar. Yani, Nginx, istemci (tarayıcı) ile bağlantı kurarken arka planda başka bir sunucudan düzgün bir yanıt alamadığında bu hatayı verir. Genellikle, bu hata PHP-FPM, backend sunucusu veya ağ yapılandırma sorunlarından kaynaklanabilir.

1. Adım: Nginx ve PHP-FPM Durumunu Kontrol Et



İlk yapmamız gereken şey, Nginx ve PHP-FPM servislerinin çalışıp çalışmadığını kontrol etmek. Bu işlem oldukça basit ve birkaç komutla halledilebilir.

Aşağıdaki komut ile PHP-FPM servisinin çalışıp çalışmadığını kontrol edebilirsiniz:


sudo systemctl status php-fpm


Eğer servis durmuşsa, hemen başlatabilirsiniz:


sudo systemctl start php-fpm


Benzer şekilde, Nginx servisini de kontrol edelim:


sudo systemctl status nginx


Eğer Nginx durmuşsa, şu komutla başlatabilirsiniz:


sudo systemctl start nginx


2. Adım: Logları İnceleyin



Eğer servisler çalışıyorsa ancak hala 502 hatası alıyorsanız, bir sonraki adım log dosyalarını incelemek olmalı. Nginx ve PHP-FPM logları, hataların ne olduğunu anlamanıza yardımcı olabilir.

Nginx’in log dosyasına şu komutla ulaşabilirsiniz:


sudo tail -f /var/log/nginx/error.log


PHP-FPM loglarını kontrol etmek içinse şu komutu kullanabilirsiniz:


sudo tail -f /var/log/php-fpm.log


Log dosyalarını inceledikten sonra, hataya neden olan kısmı tespit edebilir ve gerekli düzeltmeleri yapabilirsiniz. Örneğin, PHP-FPM’nin zaman aşımı nedeniyle hata alıyor olabilirsiniz.

3. Adım: PHP-FPM Konfigürasyonunu Kontrol Et



PHP-FPM, özellikle "pm.max_children" parametresi gibi ayarlarla çok hassas olabilir. Eğer bu değer çok düşükse, çok sayıda istek geldiğinde PHP-FPM servisinizin tıkanmasına ve 502 hatası almanıza neden olabilir. Bu ayarları kontrol etmek için PHP-FPM konfigürasyon dosyasını açmalısınız:


sudo nano /etc/php/7.4/fpm/pool.d/www.conf


Burada, "pm.max_children" değerini artırarak daha fazla istek işleyebilmesini sağlayabilirsiniz:


pm.max_children = 50


Bu ayarları değiştirdikten sonra PHP-FPM servisini yeniden başlatmayı unutmayın:


sudo systemctl restart php-fpm


4. Adım: Proxy Ayarlarını Gözden Geçirin



Bir başka yaygın sorun, Nginx'in arka uç sunucuya yönlendirme yaparken doğru proxy ayarlarını kullanmaması olabilir. Eğer Nginx'in doğru bir şekilde backend sunucusuna yönlendirme yapmadığını düşünüyorsanız, proxy ayarlarını gözden geçirin. Aşağıdaki gibi bir konfigürasyonun doğru olduğundan emin olun:


location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}


Yukarıdaki örnek, Nginx'in PHP dosyalarını doğru şekilde PHP-FPM servisine yönlendirmesini sağlar. Eğer IP adresi veya port numarasını değiştirdiyseniz, bunu güncellemeniz gerekebilir.

5. Adım: Sunucu Kaynaklarını Kontrol Et



Son olarak, 502 hatasının nedeni sunucunuzun aşırı yüklenmesi olabilir. Eğer sunucunuzda yeterli bellek veya işlemci gücü yoksa, PHP-FPM veya Nginx düzgün çalışamayabilir. Sunucu kaynaklarınızı kontrol etmek için şu komutları kullanabilirsiniz:


top


Bu komut, sistem kaynaklarınızın ne durumda olduğunu gösterir. Eğer sunucunuz aşırı yüklenmişse, bazı hizmetleri geçici olarak durdurup tekrar deneyebilirsiniz.

Sonuç



Nginx 502 Bad Gateway hatası, birçok farklı sebepten kaynaklanabilir, ancak yukarıdaki adımları takip ederek hatayı çözmek mümkündür. Öncelikle sunucuların çalışıp çalışmadığını kontrol edin, logları inceleyin, PHP-FPM konfigürasyonlarını gözden geçirin ve proxy ayarlarınızı doğru yapılandırın. Son olarak, sunucu kaynaklarını kontrol ederek, her şeyin sorunsuz çalıştığından emin olun.

Unutmayın, bu hatayı aldığınızda sakin kalın ve doğru adımları takip ederek çözüm üretin. Web siteniz bir şekilde tekrar eski haline dönecek ve ziyaretçilerinizi ağırlamaya devam edeceksiniz!

İlgili Yazılar

Benzer konularda diğer yazılarımız

ASP.NET Core ile Mobil Uygulama Geliştirme: Cross-Platform Web ve Mobil Uygulama Birleştirme

Günümüzde mobil uygulamalar hayatımızın ayrılmaz bir parçası haline geldi. Akıllı telefonlarımızda geçirdiğimiz zamanın büyük bir kısmını mobil uygulamalar sayesinde geçiriyoruz. Peki, bir mobil uygulama geliştirirken karşılaştığımız zorlukları nasıl...

Yapay Zeka ile SEO Stratejilerinizi Nasıl Güçlendirebilirsiniz? 2025 Yılında Başarılı Olacak Teknikler

Dijital pazarlamanın ve SEO'nun dünyası hızla değişiyor. Bir zamanlar sadece anahtar kelimeler ve backlink'ler üzerine kurulu olan SEO stratejileri, şimdi çok daha karmaşık ve yenilikçi bir yapıya bürünüyor. Bu dönüşümün başrol oyuncusu ise Yapay Zeka...

ASP.NET Core 500 Internal Server Error: Sebepleri ve Çözümleri

Bir web geliştiricisi olarak, karşılaştığınız en zorlayıcı hatalardan biri şüphesiz "500 Internal Server Error"dır. Bu hata, web uygulamanızda her şeyin yolunda gittiğini düşündüğünüz bir anda karşınıza çıkabilir ve tüm projeyi durdurabilir. Ancak merak...