BurtiNETBlog
Sunucu Yönetimi

HTTP 503 Service Unavailable Hatası Nedir? Nedenleri ve Çözümü

bnet5 dk okuma
HTTP 503 Service Unavailable Hatası Nedir? Nedenleri ve Çözümü
İçindekiler

Siteniz bir sabah "503 Service Unavailable" yazısıyla açılıyorsa, sunucu sizi duyuyor ama o anda isteği işleyemiyor demektir. Bu hata çoğu zaman geçicidir; sunucu aşırı yüklenmiştir, bakımdadır ya da arka plandaki bir servis (PHP, veritabanı) yanıt vermemektedir. Bu yazıda 503 hatasının ne anlama geldiğini, nedenlerini ve hangi sırayla kontrol edip çözeceğinizi anlatıyoruz.

503 Service Unavailable Hatası Nedir?

503 Service Unavailable, sunucunun isteği şu anda karşılayamadığını bildiren bir HTTP 5xx sunucu hata kodudur. Kodun en önemli özelliği geçici olmasıdır: sunucu, durumun kısa süre sonra düzeleceğini varsayar ve yanıta isteğe bağlı olarak Retry-After başlığını ekleyerek istemciye ne kadar sonra tekrar deneyeceğini söyler.

503, 500 hatasından farklıdır. 500 (Internal Server Error) sunucuda beklenmeyen bir yazılım hatası olduğunu gösterirken, 503 sunucunun çalıştığını ama şu an hizmet veremediğini belirtir. Bu fark, sorunu nerede arayacağınızı belirler.

Veri merkezinde sunucu kabinine ağ kablosu bağlayan iki teknisyen
Bakım ve kablolama çalışmaları sırasında sunucular geçici olarak 503 döndürebilir · Fotoğraf: Daoducquan / CC BY-SA 4.0 / Wikimedia Commons

503 Hatası Neden Olur?

503 hatasının arkasında genellikle kaynak yetersizliği ya da bilinçli bir kapatma vardır. En yaygın nedenler şunlardır:

  • Aşırı trafik: Kampanya, haber ya da bot trafiği nedeniyle aynı anda gelen istek sayısı sunucu kapasitesini aşar.
  • Planlı bakım: Sunucu güncellemesi veya yazılım dağıtımı sırasında site bilerek 503 ile kapatılır.
  • PHP-FPM sınırları: pm.max_children değeri dolduğunda yeni istekler kuyrukta bekler ve sonunda 503 ya da 502 döner.
  • Veritabanı bağlantı sınırı: MySQL/MariaDB max_connections değerine ulaşılır; PHP veritabanına bağlanamaz.
  • Paylaşımlı hosting kaynak limiti: CPU, RAM veya eşzamanlı işlem (entry process) limitiniz dolar ve hesabınız geçici olarak kısıtlanır.
  • Hatalı eklenti veya tema: Sonsuz döngüye giren ya da çok ağır sorgu çalıştıran bir WordPress eklentisi sunucuyu kilitler.
  • Servis çökmesi: Nginx, Apache, PHP-FPM ya da MySQL servislerinden biri durmuştur.
  • DDoS saldırısı: Kötü niyetli yoğun istekler sunucunun cevap verme kapasitesini tüketir.

503 Hatasını Teşhis Etme: Belirti ve Olası Neden Tablosu

Çözüme geçmeden önce belirtiye bakmak sorunu daraltır. Aşağıdaki tablo, sık görülen durumları ve ilk bakılacak yeri özetler:

BelirtiOlası Nedenİlk Kontrol
Site aralıklı olarak 503 veriyorKaynak limiti veya PHP-FPM kuyruğuHosting kaynak kullanım grafiği, PHP-FPM durum sayfası
Her sayfa sürekli 503Servis durmuş veya bakım modu açıksystemctl status ve kök dizindeki .maintenance dosyası
Yalnızca yönetim paneli 503Ağır eklenti ya da admin-ajax yoğunluğuEklentileri devre dışı bırakıp test
Trafik arttığında 503Yetersiz kapasiteÖnbellek, CDN ve paket yükseltmesi
503 ile birlikte yüksek CPUSaldırı veya kontrolsüz scriptErişim logları, tekrar eden IP'ler

Ziyaretçi Olarak Yapabilecekleriniz

503 hatası sunucu tarafında oluştuğu için ziyaretçinin yapabileceği şeyler sınırlıdır; yine de şunları deneyebilirsiniz:

  1. Sayfayı 1-2 dakika bekleyip yeniden yükleyin; sorun çoğunlukla kendiliğinden geçer.
  2. Farklı bir tarayıcı veya cihazla açmayı deneyin. Sorun yalnızca sizdeyse önbellek ya da DNS kaynaklı olabilir.
  3. Siteyi işleten firmanın sosyal medya hesaplarından veya durum sayfasından bakım duyurusu olup olmadığına bakın.

Site Sahibi İçin Adım Adım Çözüm

Siteyi siz yönetiyorsanız, 503 hatasını çözmek için aşağıdaki sırayı izleyin. Önce en ucuz ve hızlı kontrollerden başlayın:

1. Hata Loglarına Bakın

Sebebi bulmanın en hızlı yolu log dosyalarıdır. Nginx kullanıyorsanız genellikle /var/log/nginx/error.log, Apache'de /var/log/apache2/error.log (CentOS/AlmaLinux'ta /var/log/httpd/error_log) dosyasını inceleyin. PHP-FPM tarafı için journalctl -u php8.2-fpm komutu işe yarar. Log satırlarında "connect() failed", "upstream timed out" veya "server reached pm.max_children" ifadeleri arayın.

2. Servislerin Çalıştığını Doğrulayın

Web sunucusu, PHP ve veritabanı servislerinin ayakta olduğunu kontrol edin:

systemctl status nginx
systemctl status php8.2-fpm
systemctl status mariadb
free -m
uptime

Durmuş bir servisi systemctl restart ile başlatabilirsiniz. Servis tekrar tekrar çöküyorsa nedeni belleğin bitmesi olabilir; dmesg | grep -i "out of memory" komutu OOM killer'ın bir işlemi sonlandırıp sonlandırmadığını gösterir.

3. WordPress Bakım Modunu Kontrol Edin

WordPress güncellemesi yarıda kesilirse site kök dizininde .maintenance dosyası kalır ve tüm site 503 verir. Bu dosyayı silmek siteyi hemen açar. Ayrıntılı adımlar için WordPress bakım modu hatası ve çözümü yazımıza bakabilirsiniz.

4. PHP-FPM Ayarlarını İnceleyin

Trafik arttığında 503 alıyorsanız PHP-FPM havuzundaki çocuk işlem sayısı yetersiz olabilir. Havuz yapılandırmasında şu değerlere bakın:

pm = dynamic
pm.max_children = 20
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6

pm.max_children değerini rastgele yükseltmeyin; her PHP işlemi bellek tüketir. Ortalama bir işlemin kullandığı RAM'i ölçüp toplam boş belleğe bölerek makul bir üst sınır belirleyin.

5. Eklentileri ve Temayı Eleyin

Sorun yönetim panelinden sonra başladıysa eklentileri FTP ya da dosya yöneticisiyle wp-content/plugins klasörünü yeniden adlandırarak devre dışı bırakın. Site açılırsa eklentileri tek tek geri aktif ederek suçluyu bulun.

Mavi ışıklarla aydınlatılmış sıra sıra sunucu kabinleri bulunan veri merkezi koridoru
Bir sunucunun aynı anda işleyebileceği istek sayısı donanım kapasitesiyle sınırlıdır · Fotoğraf: BalticServers.com / CC BY-SA 3.0 / Wikimedia Commons

503 ile Diğer 5xx Hataları Arasındaki Fark

5xx hataları sunucu tarafındaki sorunları gösterir ama her birinin kök nedeni farklıdır. Hangisiyle karşılaştığınızı bilmek, doğru yere bakmanızı sağlar:

KodAdıAnlamıTipik Neden
500Internal Server ErrorSunucuda beklenmeyen hataHatalı PHP kodu, .htaccess hatası
502Bad GatewayAra sunucu geçersiz yanıt aldıPHP-FPM çökmesi, proxy yapılandırma hatası
503Service UnavailableSunucu şu an hizmet veremiyorAşırı yük, bakım, kaynak limiti
504Gateway TimeoutArka sunucu zamanında yanıt vermediYavaş sorgu, uzun süren script

Bakım Sırasında 503'ü Doğru Kullanmak

Planlı bakım yaparken sayfaları 200 koduyla "bakımdayız" mesajı göstererek yayınlamak yerine 503 döndürmek SEO açısından daha doğrudur. Google, 503 yanıtını geçici bir durum olarak yorumlar ve sayfaları dizinden çıkarmak yerine daha sonra tekrar tarar. Yanıta Retry-After başlığı eklemek, tarama botuna ne zaman dönmesi gerektiğini bildirir. Bakım uzun sürerse (birkaç günü aşarsa) sayfaların dizinden düşme riski artar, bu yüzden bakım sürelerini kısa tutun.

503 Hatasını Önlemek İçin Pratik Öneriler

  • Sayfa önbelleği (page cache) ve nesne önbelleği (Redis) kullanarak her istekte PHP ve veritabanının çalışmasını azaltın.
  • Görselleri ve statik dosyaları CDN üzerinden sunarak sunucu yükünü hafifletin.
  • WordPress'te kullanılmayan eklentileri silin; her eklenti ek bellek ve sorgu demektir.
  • Trafiğiniz kalıcı olarak büyüdüyse paylaşımlı hosting yerine VDS ya da özel sunucuya geçin.
  • Uptime izleme servisiyle siteyi dakikada bir kontrol edin; hata oluştuğunda e-posta ile bildirim alın.
  • Güvenlik duvarı ve hız sınırı kurallarıyla zararlı bot trafiğini engelleyin.

Sık Sorulan Sorular

503 hatası kalıcı mıdır?

Hayır, 503 geçici bir durumu belirtir. Sunucu yükü düştüğünde ya da bakım bittiğinde hata kendiliğinden kalkar. Kalıcı çözüm gerekiyorsa nedeni (kaynak yetersizliği, hatalı eklenti) giderilmelidir.

503 hatası SEO'ya zarar verir mi?

Kısa süreli 503 zarar vermez; Google bu kodu geçici kabul eder ve sayfayı sonra tekrar tarar. Hata günlerce sürerse sayfalar dizinden düşebilir.

503 ile 502 arasındaki fark nedir?

503'te sunucu kendisi hizmet veremediğini bildirir; 502'de ise araya giren bir ağ geçidi (proxy) arka sunucudan geçersiz yanıt almıştır. 502'de PHP-FPM ve proxy ayarlarına, 503'te kaynak ve bakım durumuna bakılır.

Paylaşımlı hostingde sürekli 503 alıyorum, ne yapmalıyım?

Hosting panelinizdeki kaynak kullanım grafiğine bakın. CPU veya eşzamanlı işlem limitiniz doluyorsa önbellek eklentisi kurun, ağır eklentileri kaldırın; sorun sürerse paketinizi yükseltin ya da VDS'e geçin.

503 hatasında hosting firmasına ne söylemeliyim?

Hatanın başladığı saati, hangi sayfalarda çıktığını ve en son yaptığınız değişikliği (eklenti güncellemesi, yeni kod) belirtin. Bu bilgiler, log taramasını çok hızlandırır.

İlgili yazılar