Plesk sunucuda 502 ve 504 hataları, isteğin Nginx veya Apache’ye ulaştığı ancak PHP-FPM, FastCGI ya da arka uç servisinden zamanında sağlıklı yanıt alınamadığı anlamına gelir. Bu rehber tek site ile tüm sunucu sorunlarını ayırarak güvenli teşhis sırası sunar.
502 Bad Gateway
connect() to unix:/var/www/vhosts/system/example.com/php-fpm.sock failed
(11: Resource temporarily unavailable) while connecting to upstream
upstream timed out (110: Connection timed out)
502 Bad Gateway, proxy katmanının arka uçtan geçerli yanıt alamadığını; 504 Gateway Timeout ise arka ucun belirlenen süre içinde yanıt vermediğini bildirir. Her iki hata da aynı görünse de çözüm için logdaki socket, timeout ve process mesajı esas alınmalıdır.
Yalnızca bir alan adı etkileniyorsa ilgili domainin PHP handler seçimi, PHP-FPM havuzu, uygulama kodu ve /var/www/vhosts/system/alanadi/logs dizinindeki kayıtlar incelenir.
Tüm siteler etkileniyorsa Nginx, Apache, kurulu Plesk PHP-FPM servisleri, global RAM, dosya tanımlayıcıları ve son güncelleme işlemleri kontrol edilir.
php-fpm.sock failed: No such file or directory, alan adı için beklenen socket dosyasının oluşturulmadığını veya domainin kaldırılmış bir PHP handlerına bağlı kaldığını gösterebilir.
Kaynak limiti veya yoğun trafik altında havuz dolduğunda servis çalışıyor görünse bile yeni istekler arka uca aktarılamaz. Bu nedenle yalnız restart yapmak kalıcı çözüm sayılmaz.
Timeout değerini büyütmek, gerçekten uzun sürmesi gereken görevlerde yararlıdır. Normal bir sayfanın yavaş sorgu, bot saldırısı veya kilitli PHP işlemi nedeniyle beklemesini yalnızca daha uzun süre gizlemek için kullanılmamalıdır.
E-postada, tarayıcıda veya SSH günlüğünde gördüğünüz ifadeyi aratın. Her kartta anlam, muhtemel neden ve güvenli ilk işlem bulunur.
Anlamı: Nginx veya Apache arka uçtan geçerli HTTP yanıtı alamamıştır.
Muhtemel neden: PHP-FPM kapalı, socket kayıp, bağlantı reddediliyor veya işlem aniden sonlanıyor olabilir.
Anlamı: Proxy, arka uçtan belirtilen sürede yanıt alamamıştır.
Muhtemel neden: Uzun PHP işlemi, yavaş SQL sorgusu, dış API beklemesi veya düşük proxy timeout.
Anlamı: Yapılandırmadaki PHP-FPM socket yolu dosya sisteminde bulunamamıştır.
Muhtemel neden: PHP handler kaldırılmış, havuz dosyası eksik veya web yapılandırması güncel değildir.
Anlamı: Socket veya port mevcut olsa da arka uç bağlantıyı kabul etmemiştir.
Muhtemel neden: PHP-FPM servisi durmuş, havuz çökmüş veya yanlış endpoint kullanılıyor olabilir.
Anlamı: Yeni bağlantı ya da süreç geçici olarak ayrılamamıştır.
Muhtemel neden: PHP-FPM havuzu dolu, process limiti yüksek yük altında veya DDoS trafiği var.
Anlamı: PHP-FPM havuzunda eşzamanlı çocuk süreç sayısı dolmuştur.
Muhtemel neden: Yoğun trafik, yavaş istek veya düşük havuz kapasitesi.
Anlamı: Arka uç bağlantısı kurulmuş ancak yanıt başlığı zamanında gelmemiştir.
Muhtemel neden: Uygulama, veritabanı veya dış servis gecikmesi.
Anlamı: Domain artık bulunmayan veya bozuk PHP handlerına bağlıdır.
Muhtemel neden: PHP sürümü kaldırılmış fakat domain yapılandırması eski kalmıştır.
Bu ifadeyle eşleşen kayıt bulunamadı.
Komutlar root erişimi içindir. Önce yalnızca durum ve log toplayın; nedeni görmeden kalıcı ayar değiştirmeyin.
curl -skI https://example.com/
curl -skI https://example.com/test.html
Statik ve PHP yanıtını karşılaştırarak problemin proxy mi uygulama mı olduğunu ayırır.
tail -n 150 /var/www/vhosts/system/example.com/logs/proxy_error_log
tail -n 150 /var/www/vhosts/system/example.com/logs/error_log
Nginx, Apache ve PHP arka uç mesajlarını domain bazında gösterir.
systemctl status nginx --no-pager
systemctl status apache2 --no-pager 2>/dev/null || systemctl status httpd --no-pager
Nginx ve dağıtıma göre Apache servislerinin durumunu kontrol eder.
systemctl list-units --type=service 'plesk-php*-fpm.service' --no-pager
ps -eo pid,user,%cpu,%mem,etime,cmd --sort=-%cpu | grep 'php-fpm' | head -n 30
Kurulu PHP-FPM servislerini ve yoğun süreçleri listeler.
plesk repair web example.com
İlgili domainin web yapılandırmasını denetler ve etkileşimli olarak onarım önerir.
free -h
journalctl -k --since '1 hour ago' | grep -Ei 'oom|out of memory|killed process'
Global bellek baskısı veya kernel OOM olayını gösterir.
tail -n 10000 /var/www/vhosts/system/example.com/logs/proxy_access_log | awk '{print $1}' | sort | uniq -c | sort -nr | head
Tek bir IP veya bot grubunun havuzu tüketip tüketmediğini gösterir.
Kapsam testi, log eşleştirmesi, servis ve handler doğrulaması, uygulama performansı ve son kontrol sırasıyla ilerlenmelidir.
Aynı sunucudaki farklı domainleri ve statik dosyayı test ederek tek site, tek PHP sürümü veya global servis arızasını ayırın.
curl -skI https://example.com/Tarayıcıdaki 502/504 yalnız sonuçtur. proxy_error_log ve error_log içindeki aynı saniyeye ait satır kök nedene yaklaşır.
tail -n 150 /var/www/vhosts/system/example.com/logs/proxy_error_logPlesk panelde domainin mevcut bir FPM handler kullandığını kontrol edin. Kayıp socket varsa handlerı yeniden seçip uygulayın.
PHP-FPM havuzu doluysa RAM hesabı, ortalama süreç boyutu ve uzun çalışan istekler ölçülmelidir.
ps -eo pid,user,%cpu,%mem,etime,cmd --sort=-%mem | grep php-fpm | headTek domain sorunu için tüm sunucuyu değiştirmek yerine ilgili alan adının web yapılandırmasını Plesk repair ile kontrol edin.
plesk repair web example.comHTTP kodu, servis durumu, yeni log satırları ve kaynak tüketimini en az 15 dakika izleyin.
curl -skI https://example.com/ && systemctl is-active nginxDomainin PHP handlerı, socket dosyası, proxy_error_log ve uygulama eklentileri incelenir. Global Nginx restartı ilk seçenek değildir.
plesk repair web example.comNginx, Apache, PHP-FPM servisleri, RAM ve son paket güncellemeleri global olarak kontrol edilir.
systemctl --failed --no-pagerNginx proxy timeout veya PHP max_execution_time sınırı söz konusu olabilir. Önce işlemin neden uzun sürdüğü belirlenir.
time curl -sk https://example.com/ -o /dev/nullHavuz kapasitesi, en çok istek gönderen IP’ler, WAF ve rate-limit ihtiyacı incelenir.
PHP süreçleri SQL yanıtını bekleyerek havuzu doldurabilir. MariaDB processlist ve IO gecikmesi kontrol edilir.
mysqladmin processlist
iostat -xz 1 3502 arka uçtan geçerli yanıt alınamadığını, 504 ise yanıtın zaman sınırını aştığını bildirir. İki hata aynı kök nedenden çıkabilse de log mesajı farklı çözüm katmanını gösterir.
Takılı bağlantıyı geçici temizleyebilir. Kayıp PHP socket, dolu havuz veya yavaş uygulama devam ediyorsa hata tekrarlar.
Domainin seçili PHP handlerı doğrulanmalı, mevcut bir FPM sürümüne geçirilip web yapılandırması Plesk üzerinden yeniden oluşturulmalıdır.
Sabit bir sayı yoktur. Kullanılabilir RAM, bir PHP sürecinin ortalama tüketimi ve diğer servislerin payı hesaplanarak belirlenmelidir.
Rapor oluşturma gibi gerçekten uzun işlemlerde kontrollü artırılabilir. Normal sayfada yavaş kodu veya SQL sorgusunu gizlemek için kullanılmamalıdır.
Domain logu, PHP-FPM havuzu, eklentiler, wp-cron, dış API çağrıları ve veritabanı sorguları kontrol edilmelidir.
Web aspect yapılandırma dosyalarını denetleyip yeniden üretir; ancak üretim sunucusunda her onarım öncesi güncel yedek ve komut çıktısı alınmalıdır.
cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim ve güvenlik katmanlarını birlikte analiz ederek yalnızca servisi kaldırmak yerine arızanın temel nedenini gideriyoruz.