Ich habe die Datei /var/log/nginx/error.log gelöscht und dann eine neue erstellt mit:
sudo nano error.log
Dies ls -la
zeigt, dass error.log und access.log dieselben Berechtigungen haben.
Wenn ich versuche, nginx zu starten, wird folgende Fehlermeldung angezeigt:
alert: Fehlerprotokolldatei konnte nicht geöffnet werden: open () "/var/log/nginx/error.log" fehlgeschlagene Berechtigung verweigert.
Aktualisieren
Beim Versuch, Nginx zu starten, sehe ich auch:
emerg: /var/run/nginx.pid fehlgeschlagen 13: Berechtigung verweigert.
echo "" > /file/to/empty
? Sind sie beide gleich?> /file/to/empty
Die übliche Methode zum Drehen der Protokolle mit NginX besteht darin, die Datei umzubenennen und dann
/etc/init.d/nginx reload
. Der Server startet eine neue Datei und Sie können mit der alten Datei tun, was Sie möchten.Möglicherweise ist es auch hilfreich, die Konfiguration so zu bearbeiten, dass nicht so viele Protokolle erstellt werden.
quelle
Schauen Sie sich die Nginx-Konfiguration an und überprüfen Sie, als wen der Server ausgeführt wird. Vermutlich ist der Benutzer Nginx
so :
chown nginx: /var/run/nginx.pid
chown -R nginx: /var/log/nginx
Sollte den Trick machen.
quelle
Löschen Sie die Datei error.log und nginx erstellt sie selbst.
quelle
Versuchen Sie zunächst, die Datei zu löschen. Wenn dies nicht funktioniert, überprüfen Sie, ob der Benutzer "Niemand" die richtigen Berechtigungen hat:
http://derekneely.com/2009/06/nginx-failed-13-permission-denied-while-reading-upstream/
quelle