como alterar a pasta nginx temp & log ou desabilitar o log completamente

como alterar a pasta nginx temp & log ou desabilitar o log completamente

Estou executando o nginx 1.3.5 no Windows sete, preciso executar o nginx diretamente de uma mídia somente leitura (CD ou DVD), mas quando quero executá-lo, ele falha com este erro:

nginx: [alert] could not open error log file: CreateFile() "logs/error.log" fail
ed (5: Access is denied)
2012/08/28 13:52:46 [emerg] 5604#2864: CreateDirectory() "J:\nginx-1.3.5/temp/client_body_temp" failed (5: Access is denied)

onde J é a letra da minha unidade de CD-ROM.
Eu mudei o nginx.conf para desabilitar o log completamente, mas parece que ele ainda tenta construir um arquivo chamado 'error.log' na pasta '/logs' e alguns conteúdos temporários extras na pasta '/temp' na inicialização, então Quero alterar o caminho do diretório 'logs' e 'temp' para a pasta temporária do Windows (% temp%), mas não tenho ideia de como posso fazer isso.
Também quero saber por que o nginx ainda cria 'logs/error.log' após desabilitar o log de erros?

Responder1

http://nginx.org/en/docs/http/ngx_http_log_module.htmllista as diretivas para controlar o log, especificamente você tem os 2 seguintes:

syntax:     access_log path [format [buffer=size]]; 
            access_log off;
default:    access_log logs/access.log combined;
context:    http, server, location, if in location, limit_except

e

syntax:     error_log file | stderr [debug | info | notice | warn | error | crit | alert | emerg];
default:    error_log logs/error.log error;
context:    main, http, server, location 

portanto, embora você possa desabilitar completamente o access_log, o mesmo não parece ser verdade para o error_log. No entanto, você ainda pode obter o efeito desejado adicionando o seguinte à configuração do nginx;

error_log /dev/null emerg; #redirect the logging we can't shut off to a black hole;
acces_log off; #disable acces log

ATUALIZAÇÃO: acabei de notar a tag do Windows, vejaessa questãopara o equivalente do Windows /dev/null

Responder2

até onde eu sei, você pode desativar os logs de acesso, mas não os de erros. O Nginx está tentando criar/gravar mensagens no arquivo de log localizado no CD/DVD. Tente definir o diretório de log na partição HD, digamos C: ou D:

informação relacionada