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.
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?
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.
Tags nginx