
Я удалил/var/log/nginx/error.logфайл, а затем создал новый с помощью:
sudo nano error.log
Делая ls -la
показывает, чтожурнал ошибокидоступ.журналимеют одинаковые разрешения.
При попытке запустить nginx возникает ошибка:
предупреждение: не удалось открыть файл журнала ошибок: open() "/var/log/nginx/error.log" не удалось, доступ запрещен.
Обновлять
При попытке запустить nginx я также вижу:
emerg: /var/run/nginx.pid failed 13: отказано в доступе.
решение1
Это не решит вашу проблему, но в будущем, если вы это сделаете,
cat /dev/null > /файл/который/вы/хотите/удалить
Вы скопируете содержимое файла без каких-либо данных и сохраните все разрешения.
Не специфично для nginx, но дополнительно убедитесь, что вы запускаете приложение как пользователь, от имени которого оно должно запускаться. Если вы когда-либо запускали его как root, все разрешения будут принадлежать root, поэтому другие пользователи не смогут его запустить.
решение2
Обычный способ ротации журналов с помощью NginX — переименовать файл, а затем /etc/init.d/nginx reload
. Сервер запускает новый файл, а со старым вы можете делать все, что захотите.
Вам также может быть полезно изменить конфигурацию, чтобы не регистрировать слишком много данных....
решение3
Посмотрите конфигурацию nginx, проверьте, под каким именем запущен сервер - скорее всего, это будет nginx.
так :
chown nginx: /var/run/nginx.pid
chown -R nginx: /var/log/nginx
Должно сработать.
решение4
Удалите файл error.log, и nginx создаст его сам.