Antworten:
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
/var/log/nginx/error.log
. Überprüfen Sie am besten die nginx.conf
Datei und finden Sie die error_log
Einstellung.
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
--error-log-path
Kompilierungsoption trac.nginx.org/nginx/ticket/147
lsof
In 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 lsof
mit 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 lsof
nichts 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 .
/proc
Dateisystem durchsuchen. /proc/${pid}/fd
hat Symlinks zu den geöffneten Dateien, Pipes, Geräten usw.
Führen Sie diesen Befehl aus, um Fehlerprotokolle zu überprüfen:
tail -f /var/log/nginx/error.log
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/local
oder 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 find
Befehl 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.
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
cd /var/log/nginx/
cat error.log
/opt/nginx/logs/error.log