Ich habe folgendes in der config datei
server {
listen 80;
server_name _;
access_log /var/log/nginx/access.log main;
...
server {
listen 80;
server_name example.com
access_log off;
error_log off;
Es wird jedoch weiterhin für den example.com
virtuellen Host protokolliert . Was mache ich falsch?
Antworten:
Sie fehlen
;
nach der Anweisung Servername.access_log
undoff
werden als zusätzliche Servernamen behandelt.quelle
access_log off;
bewirkt dies, dass Nginx das Protokoll in die aufgerufene Datei schreibtoff
. Das ist also nicht die richtige Antwort.off
anstatt zu verwenden/dev/null
? Wennoff
einige Versionen von Nginx in eine Datei mit dem Namen schreibenoff
,/dev/null
scheint dies eine universellere Lösung zu sein.Natürlich können Sie die Protokollierung vollständig deaktivieren. Zeigen Sie einfach die Protokolldateien auf / dev / null und fertig. ;)
quelle
/dev/null
ist ein echtes Ziel; während "off" eine datei in einem verzeichnis istkönnen Sie deaktivieren ,
access_log
indem SieWenn Sie jedoch error_log deaktivieren möchten, verwenden Sie die error_log-Option nicht in Ihrer conf.
quelle
Es sollte ziemlich einfach sein, Sie könnten die Protokollzeilen auskommentieren
und wenn du einen kritischen Fehler bekommst, solltest du es so machen: ´error_log / dev / null crit; ´ so wird es sein:
quelle
Basiert auf der bedingten Protokollierung im Nginx-Beitrag, verwendet jedoch keine Variable, um zu bestimmen, ob die Anforderung protokolliert werden soll, sondern nur den konstanten Wert 0.
quelle