Plesk'te Domain Açılmıyor: 502 504 Hatası Nasıl Çözülür?
Plesk'te domain 502/504 hatası PHP-FPM veya web sunucusu sorunlarından kaynaklanır. Servis durumları ve loglar kontrol edilmelidir.
Plesk 502/504 Hatası Nedir?
Plesk yönetim panelinde barındırılan bir domain, 502 Bad Gateway veya 504 Gateway Timeout hataları verdiğinde bu durum genellikle web sunucusu (Nginx/Apache) ile PHP-FPM veya diğer backend servisler arasındaki iletişim sorununu gösterir. 502 hatası, proxy'nin upstream'den geçersiz yanıt aldığını; 504 hatası ise upstream'den hiç yanıt alınamadığını ifade eder.
Plesk ortamında bu hatalar birkaç farklı konfigürasyonda ortaya çıkabilir: Nginx + Apache (Nginx ön yüz, Apache arka yüz), Nginx + PHP-FPM ve sadece Apache. Sorunun kaynağı bu mimariye göre farklılaşır.
Tarayıcıda görünen mesajlar:
502 Bad Gateway
nginx/1.x.x
504 Gateway Time-out
The server didn't respond in time.
Nginx hata logunda:
connect() failed (111: Connection refused) while connecting to upstream
# veya
upstream timed out (110: Connection timed out) while reading response header
Olası Nedenler
- PHP-FPM havuzu (pool) çökmüş veya durdurulmuş
- Nginx veya Apache servisi çalışmıyor
- Plesk'te domain için yanlış PHP sürümü veya handler seçilmiş
- PHP-FPM socket veya port yanlış yapılandırılmış
- SW_COLLECTOR veya Plesk iç servisleri yanıt vermiyor
- Disk dolduğu için PHP-FPM yeni process başlatamıyor
- SSL sertifika sorunu Nginx upstream bağlantısını kesiyor
- Domain yapılandırması bozulmuş (Plesk repair gerekiyor)
Çözüm Adımları
1. Servis Durumlarını Kontrol Etme
İlk adım olarak tüm web servislerinin durumunu kontrol edin:
sudo systemctl status nginx
sudo systemctl status apache2 # veya httpd
sudo systemctl status php8.2-fpm # PHP sürümüne göre değişir
# Tüm PHP-FPM servislerini kontrol:
systemctl list-units | grep php-fpm
Durdurulmuş servisi yeniden başlatın:
sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm
sudo systemctl restart apache2
2. PHP-FPM Havuzunu Kontrol Etme
Plesk, her domain için ayrı bir PHP-FPM havuzu oluşturabilir. Havuz yapılandırmasını kontrol edin:
# Domain'e ait PHP-FPM havuz dosyasını bul:
ls /etc/php-fpm.d/ | grep domain_adi
# veya Plesk'in PHP-FPM konfigürasyonu:
ls /var/www/vhosts/example.com/etc/
PHP-FPM process listesini kontrol edin:
ps aux | grep php-fpm
# PHP-FPM'i yeniden başlatın:
sudo systemctl restart php8.2-fpm
3. Log Dosyalarını İnceleme
Sorunun tam nedenini anlamak için log dosyalarını inceleyin:
# Nginx hata logu:
tail -50 /var/log/nginx/error.log
# Domain'e özel Nginx logu (Plesk):
tail -50 /var/www/vhosts/example.com/logs/proxy_error_log
# PHP-FPM logu:
tail -50 /var/log/php-fpm/www-error.log
# veya:
journalctl -u php8.2-fpm -n 50 --no-pager
# Apache logu:
tail -50 /var/log/apache2/error.log
4. Plesk Onarım Araçlarını Kullanma
Plesk'in yerleşik onarım araçları birçok sorunun otomatik çözülmesini sağlar:
# Plesk web servisleri onarımı:
plesk repair web
# DNS onarımı:
plesk repair dns
# Belirli bir domain için:
plesk repair web -domain example.com
# Tüm servisleri yeniden başlat:
plesk repair all
5. Plesk'te Domain PHP Ayarlarını Kontrol Etme
- Plesk → Websites & Domains → İlgili domain
- PHP Settings'e tıklayın
- PHP sürümünü ve handler'ı kontrol edin (FPM application served by nginx önerilir)
- Kaydedin; Plesk yapılandırmayı otomatik yeniler
6. Nginx Timeout Değerlerini Artırma
504 hatası için Plesk'teki Nginx ek konfigürasyona timeout ekleyin:
- Plesk → Websites & Domains → İlgili domain → Apache & nginx Settings
- Additional nginx directives alanına ekleyin:
fastcgi_read_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
7. Disk ve Bellek Durumunu Kontrol Etme
df -h
free -m
# PHP-FPM disk dolduğu için log yazamıyor veya socket oluşturamıyor olabilir
Özet ve Önleyici Tedbirler
- Plesk'te servis durumlarını düzenli olarak izleyin (Plesk → Tools & Settings → Health Monitor)
- PHP-FPM için yeterli worker sayısı ve max_children değeri ayarlayın
- Plesk repair komutlarını sorun sonrası ilk adım olarak çalıştırın
- Log dosyalarını logrotate ile yönetin; disk dolmamasına dikkat edin
- Zabbix veya UptimeRobot ile site erişilebilirliğini izleyin ve anlık uyarı alın
İlgili Makaleler
Yorumlar
Henüz yorum yok. İlk yorumu siz yapın!