как изменить папку temp & log nginx или полностью отключить ведение журнала

как изменить папку temp & log nginx или полностью отключить ведение журнала

Я использую nginx 1.3.5 под Windows Seven. Мне нужно запустить nginx непосредственно с носителя, доступного только для чтения (CD или DVD), но когда я хочу его запустить, он выдает следующую ошибку:

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)

где J — буква моего привода CD-ROM.
Я изменил nginx.conf, чтобы полностью отключить ведение журнала, но, похоже, он все равно пытается создать файл с именем 'error.log' в папке '/logs' и некоторое дополнительное временное содержимое в папке '/temp' при запуске, поэтому я хочу изменить путь к каталогам 'logs' и 'temp' на временную папку Windows (%temp%), но я не имею ни малейшего представления, как это сделать.
Также я хочу узнать, почему nginx все еще создает 'logs/error.log' после отключения ведения журнала ошибок?

решение1

http://nginx.org/en/docs/http/ngx_http_log_module.htmlперечисляет директивы для управления ведением журнала, в частности у вас есть 2 следующих:

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

и

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 

поэтому, хотя вы можете полностью отключить access_log, то же самое, похоже, не относится к error_log. Тем не менее, вы все равно можете добиться желаемого эффекта, добавив следующее в конфигурацию nginx;

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

ОБНОВЛЕНИЕ: только что заметил тег Windows, см.этот вопросдля эквивалента /dev/null в Windows

решение2

насколько я знаю, можно отключить логи доступа, но не ошибки. Nginx пытается создать/записать сообщения в файл журнала, который находится на CD/DVD. Попробуйте установить каталог журнала на раздел HD, скажем C: или D:

Связанный контент