it-swarm.com.de

Nginx schreibt separat in zwei verschiedene Protokolle

Ich habe kürzlich eine Site als Sysadmin übernommen und als erstes habe ich festgestellt, dass zwei Nginx _access_log_ definiert wurden: _access.log_ und _access_new.log_, und beide wurden geschrieben .

Wenn ich mich in der Konfiguration umschaue, kann ich sehen, dass im Abschnitt http von _nginx.confaccess.log_ als _access_log_ und in der von ihm definierten _sites-enabled/mysite_-Konfiguration _access_new.log_ als Protokoll. Ich bin gespannt, warum diese beiden Protokolle geschrieben werden: Würde die Konfiguration für die Site die Standardkonfiguration überschreiben?

1
benwad

Es ist üblich, für jeden vhost eine eigene Logdatei zu definieren. Ohne Ihre Konfiguration zu kennen, gehe ich davon aus, dass die main nginx.conf eine Standard-Protokolldatei definiert hat. Es werden alle Anforderungen protokolliert, die mit keinem der vhosts übereinstimmen, die möglicherweise konfiguriert wurden. Ich gehe davon aus, dass sites-enabled/mysite ein vhost ist, der einen namensbasierten virtuellen Host verwendet (in der Apache-Sprache heißt dieser "NameVirtualHost"). Jede Anfrage für diesen vhost wird in die konfigurierte Protokolldatei für diesen vhost geschrieben, jede andere Anfrage , die auf den Nginx-Server treffen (z. B. durch Aufrufen der IP-Adresse anstelle des Hostnamens), stimmen (höchstwahrscheinlich) nicht mit dem vhost überein und treffen daher auf die Standardkonfiguration und die zugehörige Protokolldatei.

Vielleicht möchten Sie einen Blick darauf werfen: http://nginx.org/en/docs/http/server_names.html und http://wiki.nginx.org/HttpLogModule =

2
Winni