FastCGI CentOS 5-6 Timeout 500 Internal & 504 Gateway Error Solved – Cözümü

Merhaba Arkadaşlar,

Bu sayfayı okuyorsanız muhtemelen 500 internal server error ve/ya 504 gateway time-out nginx problemi canınızı epeyce sıkmış demektir. Şimdi bunlara biraz göz atalım:

Solved – NGINX 502 Bad Gateway Error Hatası ve Çözümü

500 Internal Server Error Hatasının Başlıca Sebepleri

Bu hatanın birden fazla sebebi vardır sık karşılaşılanları ise:

  1. .htaccess: sitenizde kurulu olan sistemin .htaccess dosyasını kullanarak çalışması gerekiyorsa, bu dosya sunucunuzda olmayabilir ya da içerisindeki kodlar uygun olmayabilir. Bu durumda (varsa) yönetim paneliniz üzerinden yoksa manuel yeni bir .htaccess  dosyası oluşturmanız gerekir.
  2. CHMOD: sitenize ait dosyaların chmod ayarları kullanılan sisteme ve/veya sunucuza uygun olmayabilir. Genel ayarları: klasör izinleri için 755 dosyalar için 644 olmalıdır. Ftp programı üzerinden giriş yaparak da düzenleyebilirsiniz.
  3. Kodlamasitenizle bağlantılı çalışan herhangi bir sayfada hatalı kodlama varsa örneğin: sonsuz döngü, ve/veya işlem süreci uzun olan kodlamalarda sunucu varsayılan zaman aşım değerinden dolayı 500 Internal Server Error Hatası ile karşılaşırsınız. (en sık görülen nedendir.)
  4. Bot: özel görevler için yapılmış olan bot sistemleri ya da import gibi işlemlerde sunucu varsayılan time-out değeri olan 30-45 saniyelik zaman aşımında karşılaşabilirsiniz. Bunun için kullanılan yazılımı ya da sunucu varsayılan konfigürasyon ayarlarındaki time-out değerini düzenlememiz gerekecek.

Elbette öncelikli çözüm hatayı bulup, gidermektir örn: kodlama ile ilgili sorun yaşamışsanız bunu düzeltmeniz gerekir lakin geçici bir çözüm sunmak veya özel bir çalışma yapmanız gerekiyorsa (xml entegrasyonu gibi) bu varsayılan time-out süresini güncelleyebiirsiniz.

Not: bu varsayılan time-out süresinin aynı zamanda bir güvenlik betiği olduğunu unutmayınız.

Çözüm:

  • /etc/httpd/conf.d klasörü içerisinde bulunan fcgid.conf dosyasını açın ve
  • FcgidIOTimeout 45 değerini istediğiniz ölçüde yükseltin. Örneğin: FcgidIOTimeout 180 olabilir. Kendi sunucumdaki değerleri ise aşağıda paylaşıyorum:
    => /etc/httpd/conf.d/fcgid.conf

<IfModule mod_fcgid.c>

<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi fpl
</IfModule>

FcgidIPCDir /var/run/mod_fcgid/sock
FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm

 FcgidIdleTimeout 160
  FcgidProcessLifeTime 120
  FcgidMaxProcesses 20
  FcgidMaxProcessesPerClass 8
  FcgidMinProcessesPerClass 0
  FcgidConnectTimeout 240
  FcgidIOTimeout 260
  FcgidInitialEnv RAILS_ENV production
  FcgidIdleScanInterval 10

</IfModule>

Daha sonra ssh bağlantısını ya da sunucu kontrol panelini kullanarak sunucu servislerini yeniden başlatabilirsiniz.

SSH kodu:

  • service httpd restart

 

504 Gateway Time-Out Nginx Hatası

Bu hata ile karşılaşıyorsanız, siteniz üzerinde gerçekleşen bir işlemin zaman aşımına uğraması sonucunda, proxy okuyucu varsayılan time-out değerinden dolayı nginx sonlandırıcı mesajı ile karşılaşırsınız ama arka planda sunucu o işlemi yapmaya devam eder. Şimdi de bu hatanın çözümüne bakalım.

Çözüm:

  • /etc/nginx/conf.d klasörüne giriş yapın,
  • vhost_nginx.conf <= isminde yeni bir dosya oluşturun ve bu dosyanın içerisine
  • proxy_read_timeout 300;     <= yazıp dosyayı kaydedin.
  • Daha sonra ssh bağlantısını ya da sunucu panelini kullanarak nginx servislerini yeniden başlatabilirsiniz.

SSH Kodu:

  • /etc/init.d/nginx restart

Bu makalenin cevap verdiği sorular aşağıdaki gibi olabilir:

  1. 500  internal server error How  do Solved
  2. 500  internal server error Sorunu Nasıl Çözülür ?
  3. 500  internal server error Hatasının Sebebi Nedir ?
  4. 504 gateway time-out nginx Error How do Solved?
  5. 504 gateway time-out nginx Error Sorunu nasıl Çözülür ?
  6. 504 Gateway time-out Hatasının Sebebi ?
  7. 504 Gateway Time-out hatasının çözümü

Herhangi bir sorunda iletişime geçmekten çekinmeyiniz, herkese iyi çalışmalar.