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.