![Das Fehlerprotokoll von nginx war riesig, also habe ich es gelöscht und ein neues erstellt. Jetzt startet nginx nicht mehr.](https://rvso.com/image/515030/Das%20Fehlerprotokoll%20von%20nginx%20war%20riesig%2C%20also%20habe%20ich%20es%20gel%C3%B6scht%20und%20ein%20neues%20erstellt.%20Jetzt%20startet%20nginx%20nicht%20mehr..png)
Ich habe die/var/log/nginx/error.logDatei und erstellte dann eine neue mit:
sudo nano error.log
Das Tun ls -la
zeigt, dass dieFehlerprotokollUndZugriffsprotokollhaben die gleichen Berechtigungen.
Wenn ich versuche, nginx zu starten, erhalte ich die folgende Fehlermeldung:
Warnung: Fehlerprotokolldatei konnte nicht geöffnet werden: open() "/var/log/nginx/error.log" hat keine Berechtigung verloren.
Aktualisieren
Beim Versuch, Nginx zu starten, wird mir außerdem Folgendes angezeigt:
emerg: /var/run/nginx.pid fehlgeschlagen 13: Berechtigung verweigert.
Antwort1
Dies löst Ihr Problem nicht, aber in Zukunft, wenn Sie
cat /dev/null > /Datei/die/Sie/löschen/möchten
Sie kopieren den Inhalt der Datei vollständig und behalten alle Berechtigungen bei.
Nicht nginx-spezifisch, aber stellen Sie zusätzlich sicher, dass Sie die Anwendung als der Benutzer ausführen, als der sie ausgeführt werden soll. Wenn Sie sie jemals als Root ausgeführt haben, liegen alle Berechtigungen bei Root, sodass andere Benutzer sie nicht ausführen können.
Antwort2
Die übliche Methode zum Rotieren 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 machen, was Sie möchten.
Möglicherweise ist es für Sie auch sinnvoll, die Konfiguration zu bearbeiten, um nicht so viel zu protokollieren …
Antwort3
Schauen Sie sich die Nginx-Konfiguration an und prüfen Sie, unter welchem Namen der Server läuft. Wahrscheinlich wird der Benutzer Nginx sein.
Also :
chown nginx: /var/run/nginx.pid
chown -R nginx: /var/log/nginx
Sollte funktionieren.
Antwort4
Löschen Sie die Datei error.log und nginx erstellt sie selbst.