Pazar, Aralık 22, 2024

Nginx’de Root ve Alias Farkı, Hangisini Kullanmalıyız ?

yüksek çözünürlüklü nginx logosu

Uygulama sunucunuz da statik dosyalarınızı barındıracaksınız ve tüm linkleri 404 veriyorsa veya ayrı bir alan belirleyip sadece oraya yönlendirme yapmak istiyorsanız doğru yere geldiniz.

Burada ama asıl anlatacağımız nginx de tanımlama yaparken kullanılan root ve alias parametrelerinin ne işe yaradığı ve nasıl kullanılması gerektiğinden bahsedeyim sizlere bu tanımlamalar yapılırken pek çok yanlışlık yapıldığı için genelde niye çalışmıyor diyip küfürü basarsınız ama yapmayın bunu.

Şimdi size ilk olarak root tanımlamasını anlatayım. Tam yol olarak bahsetmemiz gerekiyor, konum kısmı da dahil olmak üzere ekleme yapılır.

Örnek bir çalışma yapalım /static klasörümüzü tanımlayacak olalım ve aşağıdaki gibi yazalım.

location /static/ {
    root /var/www/static/;
    autoindex off;
}

Bunun alacağı nihai yol şu şekilde olacaktır. /var/www/static/static haliyle böyle bir yol olmadığı içinde size çat diye 404 basacaktır. Bunun nedeni, konum bölümünün root da belirtilen yola eklenmesidir. Doğrusu ise şu şekilde olmalıdır.

location /static/ {
    root /var/www/;
    autoindex off;
}

alias da ise durum biraz daha farklıdır. Yalnızca konum yolunu içermeyen yolun bir parçası aliasa eklenir. Örnek verecek olursak şu şekilde kullanım yanlıştır.

Bu şekilde kullanıldığında çıktısı /var/www/ Şeklinde olacaktır.

location /static/ {
    alias /var/www/;
    autoindex off;
}

Bu durumun başlıca nedeni takma ad verecek olduğunuz alanda gerçekten bir /static yolunun konum ile eşleşmesinden geçmektedir. İstediğiniz her hangi bir yolu verebilirsiniz. Doğrusu ise şu şekilde olmalıdır.

location /static/ {
    alias /var/www/static/;
    autoindex off;
}

Bunun ise bize vereceği çıktı /var/www/static/ olarak gözükecektir. Eğer dosyalarınız varsa kolaylıkla erişebileceksiniz.