Ich verwende Django mit FastCGI + nginx. Wo werden die Protokolle (Fehler) in diesem Fall gespeichert?
Antworten
Zu viele Anzeigen?Fehler werden in der nginx-Protokolldatei gespeichert. Sie können sie im Root der nginx-Konfigurationsdatei angeben:
error_log /var/log/nginx/nginx_error.log warn;
Unter Mac OS X mit Selbstgebrautes wurde die Protokolldatei standardmäßig an folgendem Ort gefunden:
/usr/local/var/log/nginx
Ich habe nach einer anderen Lösung gesucht.
Auf meinem System (x86) werden standardmäßig Fehlerprotokolle angezeigt, bevor eine Konfiguration festgelegt wird. Arch Linux ), wurde gefunden in:
/var/log/nginx/error.log
Sie können verwenden lsof
(Liste der offenen Dateien) in den meisten Fällen, um offene Protokolldateien zu finden, ohne die Konfiguration zu kennen.
Beispiel:
Finden Sie die PID von httpd
(das gleiche 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 nach offenen Protokolldateien mit lsof
mit der PID:
$ 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
Si lsof
nichts ausgibt, obwohl Sie erwartet haben, dass die Protokolldateien gefunden werden, geben Sie denselben Befehl mit sudo
.
Sie können ein wenig mehr lesen aquí .
Meine ngninx-Protokolle befinden sich hier:
/usr/local/var/log/nginx/*
Sie können auch Ihre nginx.conf
um zu sehen, ob Sie irgendwelche Direktiven haben, die in das benutzerdefinierte Protokoll geschrieben werden.
laufen. nginx -t
um Ihren Standort 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/local
o /etc/
. Der Server kann so konfiguriert werden, dass er die Protokolle in /var/log
auch.
Wenn Sie einen alternativen Ort für Ihre nginx-Installation haben und alles andere fehlschlägt, können Sie die find
Befehl, um die gewünschte Datei zu finden.
find /usr/ -path "*/nginx/*" -type f -name '*.log'
donde /usr/
ist der Ordner, in dem Sie die Suche beginnen möchten.
- See previous answers
- Weitere Antworten anzeigen