Il registro degli errori di nginx era enorme, quindi l'ho eliminato e ne ho creato uno nuovo, ora nginx non si avvia


11

Ho eliminato il file /var/log/nginx/error.log e quindi ne ho creato uno nuovo usando:

sudo nano error.log

Fare ls -lamostra che error.log e access.log hanno le stesse autorizzazioni.

Quando provo ad avviare nginx ricevo l'errore:

avviso: impossibile aprire il file registro errori: open () "/var/log/nginx/error.log" autorizzazione negata non riuscita.

Aggiornare

Quando provo ad avviare nginx, vedo anche:

emerg: /var/run/nginx.pid non riuscito 13: autorizzazione negata.

Risposte:


25

Questo non risolve il tuo problema, ma in futuro, se lo fai

cat / dev / null> / file / you / want / to / wipe-out

copierai il contenuto del file senza nulla e manterrai tutte le autorizzazioni intatte.

Non nginx-specifico, ma Inoltre, assicurati di eseguire l'applicazione come l'utente dovrebbe eseguire. Se l'hai mai eseguito come root, tutte le autorizzazioni saranno di proprietà di root, quindi altri utenti non saranno in grado di eseguirlo.


In che cosa differisce dall'uso echo "" > /file/to/empty? Sono entrambi uguali?
Gowtham Gopalakrishnan,

Dovrebbe essere lo stesso. Inoltre, puoi tralasciare tutto all'inizio e farlo> /file/to/empty
Alex

5

Il solito modo per ruotare i registri con NginX è rinominare il file e quindi /etc/init.d/nginx reload. Il server avvia un nuovo file e puoi fare ciò che desideri con il vecchio.

Potresti anche trovare utile modificare la configurazione per non registrare tanto ....


2

dai un'occhiata alla configurazione di nginx, controlla chi è il server in esecuzione - a indovinare che l'utente sarà nginx

così :

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

Dovrebbe fare il trucco.


ma perché prima funzionava?
Blankman

1
Ho il sospetto perché hai provato a eseguirlo come root, quindi hai provato ad avviarlo con il suo script init.
Geraint Jones,

beh, inizio sempre così, hmm ....
Blankman,

nginx.conf dice: "user www-data"
Blankman

1

Elimina il file error.log e nginx lo creerà da solo.


l'ho eliminato, quindi quando provo ad avviare nginx mi dà lo stesso permesso negato errore sul file /var/log/nginx/error.log
Blankman

Elimina il registro e riavvia Nginx. Creerà automaticamente il registro.
WhiteHorse

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.