Bu öğreticide, try_files yönergesinin nasıl kullanılacağını hızlı bir şekilde tartışacağız ve ne zaman ve nasıl kullanılacağını öğreneceğiz:
try_files Yönergesi Nedir ve Nasıl Çalışır??
Dosyaların belirli bir sırada olup olmadığını tekrar tekrar kontrol etmek ve önce bulunan dosyayı sunmak için genellikle Nginx try_files yönergesini kullanırız.
try_file yönergesi sunucu ve konum bloklarındadır ve belirtilen konuma istek alınırsa Nginx'in dosyaları kontrol etmesi gereken dosya ve dizinleri belirtir. Tipik bir try_files yönergesi sözdizimi şöyledir:
yer /try_files $uri $uri/ /varsayılan/index.html;
Konum/blok, bunun açıkça belirtilmediği sürece tüm konumlar için bir eşleşme olduğunu belirtir
İkinci bloğun içinde, try_files, Nginx, konumdaki blokla eşleşen URI'ye bir istek alırsa, önce $uri'yi deneyin ve dosya varsa, dosyayı sunun.
Örneğin, https://linuxhint gibi bir istek.com/blocks/io.sh alındığında, Nginx önce /blocks dizini içindeki dosyayı arayacak ve varsa dosyayı sunacaktır.
Sonraki kısım (/default/index.html), dosya ilk paragrafta değilse bir geri dönüş seçeneği belirtir. Örneğin, dosya /block dizininde değilse, Nginx /varsayılan dizini arayacak ve varsa dosyayı sunacaktır.
Varsayılan olarak, Nginx dizin listesini yasaklar ve otomatik dizin açık olarak ayarlanmadıkça 403 Yasak alırsınız.
Nginx dosyayı belirtilen konumlarda bulamazsa, kullanıcıya bir 404 bulunamadı hatası görüntüler.
NOT: Nginx try_files yönergesi, bulana kadar soldan sağa belirtilen dosya ve dizinleri tekrar tekrar arar. Bu yönergeyi konumda belirtmek / özellikle yoğun trafiği olan sitelerde performans sorunlarına neden olabilir. Bu nedenle, try_files için konum bloğunu açıkça belirtmelisiniz.
Sonuç
Bu hızlı ve basit kılavuz size Nginx try_block'un nasıl çalıştığına dair bir genel bakış sağlamıştır. Çeşitli blokları ve bunların ne zaman kullanılacağını anlamak için Nginx belgelerine derinlemesine dalmanızı öneririz.
- https://nginx.org/tr/docs/http/ngx_http_core_module.html#try_files
- https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/