Это не решает Вашу проблему, но в будущем, если Вы делаете
кошка/dev/null>/file/you/want/to/wipe-out
Вы скопируете по содержанию файла ни с чем и сохраните все полномочия в такте.
Не nginx-speicific, но Кроме того, удостоверяются, что Вы запускаете приложение как пользователь, которого оно, как предполагается, выполняет как. Если Вы когда-либо выполняли его как корень, все полномочия будут принадлежавшими корню, таким образом, другие пользователи не смогут выполнить его.
взгляните в конфигурации nginx, проверьте, кого сервер выполняет как - в предположении, пользователь будет nginx
так:
chown nginx: /var/run/nginx.pid
chown -R nginx: /var/log/nginx
Должен добиться цели.
Удалите файл error.log, и nginx создаст его сам.
Сначала попытайтесь удалить файл, если это не работает проверка, что никто пользователь не имеет правильные полномочия:
http://derekneely.com/2009/06/nginx-failed-13-permission-denied-while-reading-upstream/
Обычный способ повернуть журналы с NginX состоит в том, чтобы переименовать файл, и затем /etc/init.d/nginx reload
. Сервер запускает новый файл, и можно сделать то, чего Вы желаете со старым.
Можно также найти полезным отредактировать конфигурацию для не входа так же....
Чтобы изменить размер файла до 0 байт без перезагрузки или перезапуска nginx, используйте команду truncate:
sudo truncate --size 0 /var/log/nginx/access.log
Следовал инструкциям этого поста из-за того, что в моем случае требовалось использование sudo
.