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.