Indica la posizione della radice come variabile nel blocco {} del server


11

Nel mio blocco nginx server {} ho root definito con un percorso. Come posso in seguito fare riferimento a questo percorso?

Questo è ciò che sto cercando di realizzare:

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

    ...

    include $root/*.ngaccess;
}

Sfortunatamente l'uso di $ root non funziona (perché non l'ho definito). Nginx fornisce un modo per accedere al valore radice?

Risposte:


15

Vuoi la document_rootvariabile.


In questo modo: root / var / www / foosite / public /; include $ document_root.ngaccess; Viene visualizzato l'errore "nginx: [emerg] open ()" /etc/nginx/$document_root/.ngaccess "non riuscito (2: nessun file o directory)." $ document_root sembra che sarebbe la soluzione, ma ho scritto qualcosa di sbagliato? Secondo questo post (e altri che mi sono imbattuto) forum.linode.com/viewtopic.php?t=7898 , le variabili non possono essere utilizzate nelle istruzioni include. Che, se vero, è sfortunato.
skyler,

Ciò implica che nginx sta solo valutando la includedirettiva all'avvio, non per ogni richiesta (il che ha senso), quindi sembra che ciò che si desidera ottenere non sia purtroppo possibile.
mgorven

1
Ho riscontrato un problema anche qui: "Il valore del percorso può contenere variabili, tranne $ document_root e $ realpath_root." nginx.org/it/docs/http/…
editore
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.