Как изменить nginx temp & log folder или полностью отключить ведение журнала
Я запускаю nginx 1.3.5 под Windows 7, мне нужно выполнить 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 после отключения регистрации ошибок?
2 ответа
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, см. Этот вопрос для эквивалента Windows / Dev / NULL
Насколько я знаю, вы можете отключить журналы доступа, но не ошибки. Nginx пытается создавать / записывать сообщения в файл журнала, который находится на CD/DVD. Попробуйте установить каталог журналов в раздел HD, скажем, C: или D: