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:
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:
- .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.
- 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.
- Kodlama: sitenizle 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.)
- 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:
- 500 internal server error How do Solved
- 500 internal server error Sorunu Nasıl Çözülür ?
- 500 internal server error Hatasının Sebebi Nedir ?
- 504 gateway time-out nginx Error How do Solved?
- 504 gateway time-out nginx Error Sorunu nasıl Çözülür ?
- 504 Gateway time-out Hatasının Sebebi ?
- 504 Gateway Time-out hatasının çözümü
Herhangi bir sorunda iletişime geçmekten çekinmeyiniz, herkese iyi çalışmalar.