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