Merhabalar bu yazımda NGINX Web Server’ı için aldığımız 504: Gateway Timeout hatasının olası çözümlerinden bahsediyor olacağım.
Bu hatanın nedeni istek zaman aşımı süresinin bir şekilde aşılmasıdır. Çözümü zaman aşımı süresinin artırılmasıdır. İstek zaman aşımını yöneten 3 parametre vardır.
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
Okuma Zaman Aşımı
Bağlantı İsteği Zaman Aşımı
İstek Gönderme Zaman Aşımı
NGINX’in default zaman aşımı süresi 60 saniyedir. Biz şimdi bunu 1 gün gibi bir değer yaparak oluşabilecek tüm olası hataların önüne geçmeye çalışacağız.
1 NGINX Kurulu Sunucuya Bağlan
2 Root Yetkisi Al
Aşağıdaki komut ile root yetkisi alıyoruz.
sudo -i
3 NGINX Config Dosyasını Aç
NGINX config ayarlarının olduğu dosyası Nano gibi bir editör yardımı ile açıyoruz.
Config dosyasını aşağıdaki adreste bulabilirsiniz.
nano /etc/nginx/nginx.conf
Bu komutu çalıştırdığınızda aşağıdaki gibi bir dosya açılmış olmalı. İçeriği sürümünüze ve daha önce yaptığınız işlemlere göre değişik görünebilir.
Siz işaretlediğim http blogunu bulunuz.
4 Yeni Zaman Aşımı Değerini Gir
Aşağıda verdiğim komut satırı bağlantı istek zaman aşımı süresini yönetir.
proxy_read_timeout 1d;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;
Yukarıda yazdığı gibi sadece 300 yazar bırakırsak bu saniye cinsinden bir değerdir. Zaman aşımı değerini 300 saniye yani 5 dakika yapmış olursunuz. Ancak daha büyük değerler vermek isterseniz örneğin 1 gün gibi bunun için 1d ifadesini kullanabilirsiniz.
Ctrl+X ve Y komutlarını kullanarak dosyamızı kaydediyoruz.
Sonrasında değişikliklerin sunucu seviyesinde görülebilmesi için NGINX servisini yeniden başlatmamız gerekir.
6 NGINX Dosyasında Syntax Hatası Kontrolünü Yap
Öncelikle bir yazım hatası yaptık mı diye aşağıdaki komutu çalıştıralım.
sudo nginx -t
Aradığım değerler aşağıdaki gibi Ok ve Successful.
7 NGINX Servisini Yeniden Başlat
Bir sorunumuz olmadığına göre şimdi aşağıdaki komutla NGINX servisini yeniden başlatalım.
sudo systemctl restart nginx
8 NGINX Servisi Aktif mi Kontro Et
Servisin active olup olmadığını aşağıdaki komutla kontrol edebilirsiniz.
sudo systemctl status nginx
NGINX servisimiz yeni ayarlarıyla yeniden ayakta. Artık bağlantı isteği zaman aşımını 1 gün olarak ayarlamış olduk.
Hepsi bu kadardı.
Görüşmek üzere.