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.conf
access.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?
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 =