Da OP auf die log_format-Reihenfolge hinweist, ist es in der Tat sehr wichtig, dass bei benutzerdefinierten log_formaten einige Dateien mit log_formaten, einige Dateien mit Serverblöcken, die diese log_formate verwenden, in dasselbe Verzeichnis kopiert werden sehr unwiederholbare Konfiguration.
Bei der Arbeit, als wir unsere handgefertigte Nginx-Farm zum ersten Mal in Puppet umstellten, begannen wir, einige Nginx-Installationen von Grund auf mit identischer Hardware / Einrichtung zu testen, nachdem wir viele bizarre Situationen wie zwei / etc / nginx / * (- r) Mit einem md5match und derselben Binärdatei, die unterschiedliche Ergebnisse liefern (ungültiger log_format-Fehler bei einer und bei einer anderen), haben wir gelernt, wie schwierig es ist, die Reihenfolge für einige Anweisungen wie log_format zu bestimmen.
Wir haben das Problem behoben, indem wir die Serverblock-Generierung aus conf.d / * in einen anderen Ordner verschoben, der nach conf.d / * enthalten ist.