Re: Логирование nginx

Станислав server_inc на list.ru
Ср Фев 2 05:48:37 MSK 2011


02.02.2011 4:05, Лопатин Владимир пишет:
> /var/log/nginx/host.access.log /var/log/nginx/error.log
> /var/log/nginx/access.log
> {
> rotate 4
> size 50000k
> compress
> postrotate
> [ ! -f /var/log/nginx.pid ] || kill -USR1 `cat /var/log/nginx.pid`
> endscript
> }
>
> при такой конфигурации создаются gz файлы, но перестает писаться логи
>
> /var/log/nginx/host.access.log /var/log/nginx/error.log
> /var/log/nginx/access.log
> {
> daily
> missingok
> rotate 21
> compress
> delaycompress
> notifempty
> noolddir
> create 640 root wheel
> sharedscripts
> [ ! -f /var/log/nginx.pid ] || kill -USR1 `cat /var/log/nginx.pid`
> endscript
> }
>
> при такой, создаются файлы с числом на конце, но писаться продолжается
> в них, а в обычные файлы логов нет
> или это нормальное поведение?
Не совсем вас понял вас...
У вас энджинсовский PID файл лежит в /var/log ?

При той конфигурации, что я написал, на вашем примере будет происходить 
следующее...
Файлы host.access.log, error.log, access.log заротейтятся, т.е. демон 
ротейта переместит их в host.access.log.1, error.log.1, access.log.1 и 
после этого будут заново созданы файла host.access.log, error.log, 
access.log с теми правами, что указаны в конфиге. После этого 
проверяется существует ли PID файл в /var/log/nginx.pid и если 
существует отправляется сигнал энджинксу USR1 . NGINX начинает писать в 
эти файлы host.access.log, error.log, access.log .
На последующих кругах, (после первого) файлы будут уже сжиматься... т.к. 
задана директива delaycompress .

Если логи пишутся в host.access.log.1, error.log.1, access.log.1, я 
полагаю файл /var/log/nginx.pid отсутствует. Если он там есть и там 
действительно PID энджинкса, попробуйте дописать к kill полный путь....  
что-то вроде /bin/kill ...

Ваш конфиг я не совсем понимаю т.к. там отсутствуют некоторые директивы.



Подробная информация о списке рассылки nginx-ru