Я удалил /var/log/nginx/error.log файл, а затем создал новый, используя:
sudo nano error.log
Делать ls -la
показывает, что журнал ошибок и access.log имеют такие же разрешения.
Когда я пытаюсь запустить nginx, я получаю сообщение об ошибке:
предупреждение: не удалось открыть файл журнала ошибок: open () "/var/log/nginx/error.log" отказано в разрешении.
Обновить
При попытке запустить nginx я также вижу:
Emerg: /var/run/nginx.pid не удалось 13: в разрешении отказано.
Это не решит вашу проблему, но в будущем, если вы решите
cat / dev / null> / file / вы / хотите / в / wipe-out
вы ничего не скопируете с содержимым файла и сохраните все права доступа.
Не для nginx, но, кроме того, убедитесь, что вы запускаете приложение от имени пользователя, от имени которого оно должно запускаться. Если вы когда-либо запускали его как root, все разрешения будут принадлежать root, поэтому другие пользователи не смогут его запустить.
Обычный способ ротации журналов с помощью NginX - это переименовать файл, а затем /etc/init.d/nginx reload
. Сервер запускает новый файл, и вы можете делать со старым все, что хотите.
Вы также можете найти полезным отредактировать конфигурацию, чтобы не регистрировать столько ...
посмотрите конфигурацию nginx, проверьте, от кого запущен сервер - предположительно, пользователь будет nginx
так :
chown nginx: /var/run/nginx.pid
chown -R nginx: /var/log/nginx
Должен сделать свое дело.
Удалите файл error.log, и nginx сам создаст его.
Сначала попробуйте удалить файл, если это не сработает, проверьте, есть ли у пользователя none необходимые права:
http://derekneely.com/2009/06/nginx-failed-13-permission-denied- while-reading-upstream/