$ document_root não analisado na localização error_log por nginx

2

Existe uma maneira de usar a variável $ document_root no local error_log para nginx? Há uma menção específica a ele sendo suportado no local access_log no wiki mas nada sobre error_log. Eu estou supondo que é algo a ver com eles sendo de módulos diferentes?

Apenas tentando evitar me repetir no conf, se há uma maneira de fazer isso seria ótimo!

Darren

    
por iamdarrenhall 19.04.2013 / 23:01

1 resposta

0

Existe uma maneira de usar a variável $ document_root no local error_log para o nginx?

Infelizmente, não. Se você colocou uma variável em uma diretiva e ela não foi interpolada, não há nada que você possa fazer sobre isso.

Existe uma página de Perguntas frequentes do Nginx sobre este tópico exato, que diz (abreviado):

Variables should not be used as template macros. Instead, a macro expansion and "include" directives should be used to generate configs more easily and it can be done with the external tools, e.g. sed + make or any other common template mechanism.

Ok, mas por que os documentos mostram especificamente as variáveis usadas na diretiva access_log ?

Você está correto ao mencionar que os documentos para access_log contêm algum uso variável.

Comece a especulação: Algumas diretrizes são mais poderosas do que outras. De acordo com a documentação do Nginx, o primeiro argumento para access_log pode ser um caminho , enquanto o primeiro argumento para error_log pode ser um arquivo . Veja um trecho da página de documentos access_log :

server {
    root       /spool/vhost/data/$host;
    access_log /spool/vhost/logs/$host;
    ...

Tanto root quanto access_log podem usar a variável $host . Portanto, acredito que os argumentos descritos como caminho são capazes de fazer interpolação variável.

    
por 19.05.2014 / 05:36