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.