Sunucu {} bloğunda değişken olarak kök konumu referansı


11

Nginx sunucum {} bloğunda bir yolla tanımlanmış bir kök var. Daha sonra bu yola nasıl başvurabilirim?

Ben bunu başarmaya çalışıyorum:

server {
    listen 80;
    root /var/www/foosite;

    ...

    include $root/*.ngaccess;
}

Ne yazık ki $ root kullanmak işe yaramaz (çünkü bunu tanımlamamıştım). Nginx kök değerine erişmek için bir yol sunuyor mu?

Yanıtlar:


15

document_rootDeğişkeni istiyorsunuz .


Bunu yapmak: root / var / www / foosite / public /; $ document_root.ngaccess; "Nginx: [emerg] open ()" /etc/nginx/$document_root/.ngaccess "başarısız oldu (2: Böyle bir dosya veya dizin yok) hatası alıyorum. $ document_root çözüm gibi görünüyor, ama yanlış bir şey mi yazdım? Bu gönderiye (ve karşılaştığım diğerlerine) göre forum.linode.com/viewtopic.php?t=7898 , değişkenler include ifadelerinde kullanılamaz. Bu, eğer doğruysa, talihsizdir.
— skyler

Bu, nginx'in includedirektifin yalnızca başlangıçta değerlendirildiğini, her istek için değil (ki bu mantıklı) anlamına gelir, bu yüzden ulaşmak istediğiniz şeyin maalesef mümkün olmadığı görülmektedir.
— mgorven

1
Ben de burada bir sorunla karşılaştı: "Yol değeri $ document_root ve $ realpath_root dışında değişkenler içerebilir." nginx.org/tr/docs/http/…
— editör
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.