Я чрезвычайно уверен, что Kjetil поразил его. Потянул, Вы еще не можете быть убеждены его объяснением, но я убеждаю Вас считать тщательно, что он сказан.
При принятии его фиксация должна или остановить и перезапустить приложение, когда журналы повернуты или используют инструмент как "rotatelogs" апача, где Вы подаете вывод журнала к инструменту через канал, и инструмент заботится о вращении файла журнала время от времени. Например, один из моих апачских экземпляров регистрируется с
ErrorLog "|/usr/sbin/rotatelogs /www/logs/error_log 604800"
который вызывает много файлов журнала с именами как
-rw-r--r-- 1 root root 4078 Dec 21 01:04 error_log.1292457600
-rw-r--r-- 1 root root 4472 Dec 29 08:41 error_log.1293062400
-rw-r--r-- 1 root root 78630 Jan 4 12:57 error_log.1293667200
-rw-r--r-- 1 root root 15753 Jan 12 01:10 error_log.1294272000
появиться, не перезапуская апача; я могу затем сжать их вручную после факта. Отметьте, как вращение делается каждую неделю, который является каждые 604800 секунд, при этом тот аргумент, переданный rotatelogs
.
Если Вы не можете остановить и перезапустить приложение, и оно не может зарегистрироваться через канал, то я думаю, что у Вас есть настоящая проблема. Возможно, у других будут предложения.
Я нашел и устранил проблему. На самом деле это ошибка в nginx.
Обычно в nginx.conf
есть директива пользователя, которая устанавливает setuid ()
/ setgid ()
в nginx. поведение и синтаксис директивы: пользователь <имя пользователя> <имя группы>
. Документация [1] утверждает, что если вы опустите
,
будет использоваться как группа. Однако это не так, и nginx по умолчанию настроен на группу никто
. Когда я явно добавил группу www-data
, все стало работать как надо.