Wo finde ich die Fehlerprotokolle von nginx mit fastcgi und django?


359

Ich benutze Django mit Fastcgi + Nginx. Ich möchte wissen, wo in diesem Fall die Protokolle (Fehler) gespeichert sind

Antworten:


481

Fehler werden in der Nginx-Protokolldatei gespeichert. Sie können es im Stammverzeichnis der Nginx-Konfigurationsdatei angeben.

error_log  /var/log/nginx/nginx_error.log  warn;

Unter Mac Os X mit Homebrew wurde die Protokolldatei standardmäßig am folgenden Speicherort gefunden:

/usr/local/var/log/nginx

11
Das ist vielleicht /opt/nginx/logs/error.log
versionabhängig,

49
unter Mac OS X mit Homebrew: / usr / local / var / log / nginx. siehe lfender die Antwort
Félix Gagnon-Grenier

11
Auf Ubuntu habe ich es in /var/log/nginx/error.log. Überprüfen Sie am besten die nginx.confDatei und finden Sie die error_logEinstellung.
MarthyM

Wo haben Sie diese Informationen gefunden?
etiennejcharles

300

Ich suchte nach einer anderen Lösung.

Standardmäßig wurden auf meinem System (x86 Arch) Fehlerprotokolle gefunden, bevor eine Konfiguration festgelegt wurde:

/var/log/nginx/error.log

1
Anscheinend ist dies nur zur Kompilierungszeit mit der --error-log-pathKompilierungsoption trac.nginx.org/nginx/ticket/147
Michael Berkowski

auf Himbeer-Pi3 ist es der Ort
Bludau Media

161

lsofIn den meisten Fällen können Sie (Liste der geöffneten Dateien) verwenden, um geöffnete Protokolldateien zu finden, ohne die Konfiguration zu kennen.

Beispiel:

Finden Sie die PID von httpd (dasselbe Konzept gilt für Nginx und andere Programme):

$ ps aux | grep httpd
...
root     17970  0.0  0.3 495964 64388 ?        Ssl  Oct29   3:45 /usr/sbin/httpd
...

Suchen Sie dann lsofmit der PID nach offenen Protokolldateien :

$ lsof -p 17970 | grep log
httpd   17970 root    2w   REG             253,15     2278      6723 /var/log/httpd/error_log
httpd   17970 root   12w   REG             253,15        0      1387 /var/log/httpd/access_log

Wenn lsofnichts gedruckt wird, obwohl Sie erwartet haben, dass die Protokolldateien gefunden werden, geben Sie denselben Befehl mit ein sudo.

Sie können ein wenig mehr lesen hier .


4
Es ist ein schöner Trick, sich zu erinnern. Keine Ahnung mehr, wo sich die Protokolldateien befinden könnten
Yo Ludke,

12
das brachte mir das Fischen bei; Ich wünschte, ich könnte mehr
Stimmen

+1 Für eine Antwort, wie man aussieht. Ich suchte nach Protokollen aus einer anderen Installation von Nginx und es war nicht in der Top-Antwort.
Robert Dundon

Sie können ähnliche Daten unter Linux im /procDateisystem durchsuchen. /proc/${pid}/fdhat Symlinks zu den geöffneten Dateien, Pipes, Geräten usw.
Avindra Goolcharan

91

Führen Sie diesen Befehl aus, um Fehlerprotokolle zu überprüfen:

tail -f /var/log/nginx/error.log

39

Meine ngninx-Protokolle befinden sich hier:

/usr/local/var/log/nginx/*

Sie können auch überprüfen nginx.conf, ob Anweisungen im benutzerdefinierten Protokoll gespeichert sind.

laufen nginx -t, um Ihre zu finden nginx.conf.

# in ngingx.conf
error_log  /usr/local/var/log/nginx/error.log;
error_log  /usr/local/var/log/nginx/error.log  notice;
error_log  /usr/local/var/log/nginx/error.log  info;

Nginx wird normalerweise in /usr/localoder eingerichtet /etc/. Der Server kann so konfiguriert werden, dass auch Protokolle ausgegeben werden /var/log.

Wenn Sie einen alternativen Speicherort für Ihre Nginx-Installation haben und alles andere fehlschlägt, können Sie den findBefehl verwenden, um die Datei Ihrer Wahl zu finden.

find /usr/ -path "*/nginx/*" -type f -name '*.log', wo /usr/ist der Ordner, aus dem Sie suchen möchten.


Die Protokolle werden hier angezeigt, wenn Sie Nginx mit Homebrew installiert haben.
Sridhar Sarnobat

9

Protokolliert den Speicherort auf Linux-Servern

Apache  /var/log/httpd/

IIS  C:\inetpub\wwwroot\

Node.js  /var/log/nodejs/

nginx  /var/log/nginx/

Passenger  /var/app/support/logs/

Puma  /var/log/puma/

Python  /opt/python/log/

Tomcat  /var/log/tomcat8


2

Geben Sie diesen Befehl in das Terminal ein

sudo cat /var/log/nginx/error.log

1
Das ist keine Antwort und sollte stattdessen ein Kommentar sein. Sobald Sie einen ausreichenden Ruf haben, können Sie einen Kommentar abgeben.
Mrun

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.