Probleme beim Neustart von Nginx

13

Beim Neustart von Nginx erhalte ich plötzlich den folgenden Fehler:

Neustart von nginx: [alert]: Fehlerprotokolldatei konnte nicht geöffnet werden: open () "/var/log/nginx/error.log" fehlgeschlagen (13: Berechtigung verweigert)
2011/02/16 17:20:58 [warn] 23925 # 0: Die Anweisung "user" ist nur sinnvoll, wenn der Master-Prozess mit Superuser-Berechtigungen ausgeführt wird, die in /etc/nginx/nginx.conf:1 ignoriert werden
Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist in Ordnung
2011/02/16 17:20:58 [emerg] 23925 # 0: open () "/var/run/nginx.pid" fehlgeschlagen (13: Berechtigung verweigert)
Konfigurationsdatei /etc/nginx/nginx.conf Test fehlgeschlagen

Auf dem Front-End-Teil der Website werden jedoch einige Dateien, wie insbesondere das CSS, nicht geladen. Sie sind auf dem Server vorhanden, aber wenn Sie die Ressourcen direkt in Chrome laden, wird "Hoppla, diese Seite kann nicht gefunden werden."

Ich habe eine spezielle Gruppe und einen Benutzer festgelegt, um meine Apache-Dateien mit suexec für meine Domain-Dateien auszuführen. Ich denke, die Nginx sind im Besitz von root, aber was nehme ich an, ist das Problem, aber welche Nginx-Dateieigentümer würde ich ändern?

cchiera
quelle

Antworten:

15

Oder Sie können die Dateiberechtigungen für nginx.log so ändern, dass sie Ihrem aktuellen Benutzer entsprechen, mit dem Sie nginx starten:

chown your_user /var/log/nginx/error.log

Ich schlage vor, Sie fügen diese Berechtigungen dem gesamten Nginx-Protokollverzeichnis hinzu

chown -R your_user /var/log/nginx/
Blagomir
quelle
11

Starten Sie einfach den Nginx als Root-Benutzer oder mit sudo

$>sudo /etc/init.d/nginx start

$>sudo service nginx start

Nicht sicher, auf welchem ​​Betriebssystem Sie sich befinden. Stellen Sie den Benutzerbesitzer in Ihrer nginx.conf http://forum.nginx.org/read.php?11,2664 ein

Cristobal
quelle
Dheivame ye kadavule ... wirklich Ihre Antwort hat mir sehr geholfen :) Danke
Abhiram
3

Der Nginx-Master-Prozess verfügt über Root-Berechtigungen, der Amplify-Agent führt jedoch regelmäßig den Befehl 'nginx -t' durch einen Nicht-Root-Benutzer aus. Das ist der Grund für diese Fehler im error.log

Sie können diese Fehler also einfach ignorieren.

Überprüfen Sie, indem Sie die Ausgabe von " sudo nginx -t" vergleichen.

Gopher Baorque
quelle