sunucuhataları
teknik çözüm merkezi
Ara Giriş Yap Üye Ol
🏠 Ana Sayfa 📚 Kurulum Rehberleri
Kategoriler
🌐 Web Sunucuları 🐧 İşletim Sistemleri 📦 Sanallaştırma & VPS 🖥️ Kontrol Panelleri 🔒 SSL & Güvenlik 📝 CMS & Uygulamalar 🗄️ Veritabanı 📧 Mail Sunucusu 🗨️ Forum ℹ️ Hakkımızda 📧 İletişim
Giriş Yap Üye Ol
Ana Sayfa Web Sunucuları Apache Kurulumu Apache 503 Service Unavailable Hatası Nasıl Çöz...
🪶 Apache Kurulumu

Apache 503 Service Unavailable Hatası Nasıl Çözülür?

Apache 503 hatası, sunucunun isteği geçici olarak karşılayamadığını gösterir. MaxRequestWorkers ve backend servis sorunları başlıca nedenlerdir.

📅 15 Nisan 2025 👁 7 görüntülenme ⏱ 5 dk okuma
𝕏 Paylaş
📋 İçindekiler göster/gizle

Apache 503 Service Unavailable Hatası Nedir?

503 Service Unavailable hatası, web sunucusunun isteği geçici olarak işleyemediğini bildiren bir HTTP durum kodudur. Bu hata, sunucunun tamamen çöktüğü anlamına gelmez; ancak anlık olarak aşırı yüklendiğini, bakımda olduğunu ya da bir arka uç servisinin yanıt vermediğini gösterir. Apache web sunucusunda bu hata birçok farklı nedenden kaynaklanabilir.

Hata tarayıcıda şu şekilde görünür:

503 Service Unavailable
The server is temporarily unable to service your request. Please try again later.

503 Hatasının Başlıca Nedenleri

1. MaxRequestWorkers Limitine Ulaşma

Apache'nin aynı anda işleyebileceği maksimum eşzamanlı bağlantı sayısı MaxRequestWorkers direktifi ile belirlenir. Bu limit aşıldığında yeni gelen istekler reddedilir ve 503 hatası döndürülür. Varsayılan değer genellikle 150'dir ve yoğun trafik altında yetersiz kalabilir.

2. Backend/Proxy Servisinin Çökmesi

Apache'yi bir reverse proxy olarak kullandığınızda (örneğin PHP-FPM, Tomcat veya başka bir uygulama sunucusuna yönlendirme yapıyorsanız), arka uç servis çöktüğünde Apache 503 hatası döner.

3. PHP-FPM Servisi Durmuş

PHP tabanlı web sitelerinde PHP-FPM servisi durduğunda veya crash ettiğinde Apache, PHP dosyalarını işleyemez ve 503 hatası verir.

4. Sunucu Kaynakları Tükenmesi

RAM dolduğunda, CPU aşırı yüklendiğinde veya disk alanı tamamen dolduğunda Apache yeni isteklere yanıt veremez hale gelir.

5. .maintenance Dosyası

WordPress gibi bazı CMS'ler güncelleme sırasında otomatik bakım modu devreye girer ve .maintenance dosyası oluşturulur. Bu dosya silinmezse site sürekli 503 verir.

Tanı Koyma: Hatayı Tespit Etme

Apache Log Dosyalarını İnceleme

# Hata logunu gerçek zamanlı izle
sudo tail -f /var/log/apache2/error.log

# Erişim logunu incele
sudo tail -f /var/log/apache2/access.log

# Son 100 satır hata logu
sudo tail -100 /var/log/apache2/error.log | grep 503

Apache Servis Durumu

sudo systemctl status apache2
# veya CentOS/AlmaLinux için
sudo systemctl status httpd

Mevcut Apache Süreçlerini Kontrol Etme

# Apache işlem sayısını kontrol et
ps aux | grep apache2 | wc -l

# Aktif bağlantıları listele
netstat -an | grep :80 | wc -l

Çözüm 1: MaxRequestWorkers Artırma

Apache yapılandırma dosyasını açın:

sudo nano /etc/apache2/mods-enabled/mpm_prefork.conf
# veya
sudo nano /etc/apache2/apache2.conf

MPM Prefork için ayarları güncelleyin:

<IfModule mpm_prefork_module>
    StartServers             5
    MinSpareServers          5
    MaxSpareServers         10
    MaxRequestWorkers      300
    MaxConnectionsPerChild   0
</IfModule>

MPM Worker için:

<IfModule mpm_worker_module>
    StartServers             3
    MinSpareThreads         25
    MaxSpareThreads         75
    ThreadLimit             64
    ThreadsPerChild         25
    MaxRequestWorkers      400
    MaxConnectionsPerChild   0
</IfModule>

Değişiklikleri uygulayın:

sudo apache2ctl configtest
sudo systemctl restart apache2

Çözüm 2: mod_status ile Sunucu İzleme

Apache'nin mod_status modülü sunucu durumunu gerçek zamanlı izlemenizi sağlar:

sudo a2enmod status
sudo nano /etc/apache2/mods-enabled/status.conf
<Location "/server-status">
    SetHandler server-status
    Require ip 127.0.0.1
    Require ip YOUR_IP_ADDRESS
</Location>
ExtendedStatus On
sudo systemctl restart apache2
curl http://localhost/server-status

Bu komut size aktif bağlantı sayısı, işlenen istek sayısı ve sunucu yük bilgisini gösterir.

Çözüm 3: PHP-FPM Sorunlarını Giderme

# PHP-FPM durumunu kontrol et
sudo systemctl status php8.2-fpm

# PHP-FPM loglarını incele
sudo tail -f /var/log/php8.2-fpm.log

# PHP-FPM'i yeniden başlat
sudo systemctl restart php8.2-fpm

PHP-FPM pool yapılandırmasını kontrol edin:

sudo nano /etc/php/8.2/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

Çözüm 4: Sunucu Kaynaklarını Kontrol Etme

# RAM kullanımı
free -h

# CPU yükü
top -bn1 | head -5

# Disk kullanımı
df -h

# En çok RAM kullanan süreçler
ps aux --sort=-%mem | head -10

Çözüm 5: Arka Uç Servislerin Durumu

# MySQL/MariaDB durumu
sudo systemctl status mysql

# Redis durumu
sudo systemctl status redis

# Memcached durumu
sudo systemctl status memcached

# Tüm servislerin durumu
sudo systemctl list-units --state=failed

mod_proxy ile 503 Hatası

Eğer Apache'yi reverse proxy olarak kullanıyorsanız ve arka uç 503 veriyorsa:

<VirtualHost *:80>
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
    
    # Proxy timeout ayarları
    ProxyTimeout 300
    
    # Arka uç erişilemiyor mesajı için özel sayfa
    ErrorDocument 503 /maintenance.html
</VirtualHost>

Önleyici Tedbirler

Otomatik Yeniden Başlatma

sudo systemctl edit apache2
[Service]
Restart=always
RestartSec=5s

Monitoring Kurulumu

Sunucu durumunu sürekli izlemek için Monit, Netdata veya Prometheus gibi araçlar kullanabilirsiniz. Kritik servislerin çökmesi durumunda anında uyarı almanızı ve otomatik yeniden başlatmayı sağlarlar.

Load Balancer Kullanımı

Yüksek trafikli siteler için birden fazla Apache sunucusu önüne bir load balancer koymak, tek sunucunun aşırı yüklenmesini engeller.

Özet

Apache 503 hatası genellikle MaxRequestWorkers limitine ulaşma, PHP-FPM çökmesi veya sistem kaynaklarının tükenmesinden kaynaklanır. Önce log dosyalarını inceleyin, servis durumlarını kontrol edin ve gerekli yapılandırma değişikliklerini yapın. Uzun vadede uygun monitoring ve otomatik yeniden başlatma ayarları kurarak bu tür sorunları proaktif biçimde önleyebilirsiniz.

🤔 Bu kurulumda sorun mu yaşıyorsunuz?

Hata mesajınızı kopyalayıp foruma konu açın. Topluluğumuz size özel durumunuza göre yardımcı olacaktır.

🗨️ Foruma Katıl & Yardım Al

Yorumlar

Henüz yorum yok. İlk yorumu siz yapın!

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanır.