O log de erro do nginx era enorme, então eu excluí e criei um novo, agora o nginx não será iniciado

11

Eu apaguei o /var/log/nginx/error.log arquivo e, em seguida, criou um novo usando:

sudo nano error.log

Doing ls -lamostra que o error.log e o access.log têm as mesmas permissões.

Quando tento iniciar o nginx, recebo o erro:

alerta: não foi possível abrir o arquivo de log de erros: open () "/var/log/nginx/error.log" falha na permissão negada.

Atualizar

Ao tentar iniciar o nginx, também estou vendo:

emerg: /var/run/nginx.pid falhou 13: permissão negada.

Blankman
fonte

Respostas:

25

Isso não resolve o seu problema, mas no futuro, se você

cat / dev / null> / arquivo / você / deseja / que / limpe

você copiará o conteúdo do arquivo sem nada e manterá todas as permissões intactas.

Não é específico ao nginx, mas Além disso, verifique se você está executando o aplicativo como o usuário que ele deve executar. Se você o executou como root, todas as permissões pertencerão ao root, para que outros usuários não possam executá-lo.

Alex
fonte
Como é diferente de usar echo "" > /file/to/empty? Ambos são iguais?
Gowtham Gopalakrishnan
Isso deve ser o mesmo. Além disso, você pode deixar de fora todas as coisas no início e apenas fazer> /file/to/empty
Alex
5

A maneira usual de girar os logs com o NginX é renomear o arquivo e depois /etc/init.d/nginx reload. O servidor inicia um novo arquivo e você pode fazer o que quiser com o antigo.

Você também pode achar útil editar a configuração para não registrar tanto ....

Alister Bulman
fonte
2

dê uma olhada na configuração do nginx, verifique como o servidor está sendo executado - suponha que o usuário será o nginx

assim :

chown nginx: /var/run/nginx.pid chown -R nginx: /var/log/nginx

Deve fazer o truque.

Geraint Jones
fonte
mas por que estava funcionando antes?
Blankman
1
Suspeito porque você tentou executá-lo como root e, em seguida, tentou iniciá-lo com seu script init.
Geraint Jones
bem, eu sempre começo assim, hum ...
Blankman
nginx.conf diz: "usuário www-data"
Blankman
1

Exclua o arquivo error.log e o nginx o criará.

Martin Fjordvald
fonte
eu deletei ele, então quando eu tento e começar nginx é dá-me a mesma permissão negada erro no /var/log/nginx/error.log arquivo
Blankman
Exclua o log e reinicie o Nginx. Ele criará automaticamente o log.
precisa