nginx tenta abrir logs em / var mesmo quando eu direciono os logs para outro lugar

1

Estou tentando executar o nginx como um usuário não privilegiado - especificamente, meu ID de login usual. Acho que não consigo iniciar o nginx com sucesso, pois ele insiste em tentar abrir arquivos de log em /var/log/nginx/ , mesmo quando o arquivo de configuração que forneci diz para armazenar esses arquivos em outro lugar.

Especificamente, eu invoco o nginx assim:

$ nginx -c ~/my-nginx.conf

O arquivo de configuração mencionado nesse comando tem este formulário:

pid /home/me/nginx/nginx.pid;

events { worker_connections 1024; }

http {
  access_log /home/me/nginx/access.log;
  error_log /home/me/nginx/error.log;
  # many more lines omitted
}

Nenhuma das linhas omitidas contém access_log ou error_log diretivas, nem nenhum dos poucos arquivos incluídos na diretiva include .

O nginx sempre morre depois de imprimir estas linhas:

nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2016/06/13 12:43:54 [emerg] 4473#0: open() "/var/log/nginx/error.log" failed (13: Permission denied)

Ele cria os arquivos de log mencionados no arquivo de configuração com tamanho zero antes de morrer, no entanto.

Por que o nginx tenta abrir esses arquivos e como isso pode ser impedido?

    
por Sean 13.06.2016 / 22:07

1 resposta

2

Você colocou sua diretiva error_log no nível http. Esta diretiva pode ser feita em um nível superior . Tente copiar sua diretiva para o topo do arquivo nginx.conf, fora do bloco HTTP.

    
por 13.06.2016 / 22:44

Tags