
Dies ähnelt dieser Frage, auf die keine Antworten eingegangen sind: So debuggen Sie CGI über fcgiwrap/nginx
Wie erreiche ich, dass Perl-Fehler automatisch in das Nginx-Fehlerprotokoll eingetragen werden? Derzeit wird bei jedem Perl-Fehler die folgende Meldung in das Fehlerprotokoll eingetragen:
2014/05/11 22:43:48 [error] 1730#0: *5 connect() failed (111: Connection refused) while connecting to upstream, client: localhost, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"
Dies ist zum Debuggen völlig nutzlos. Ich kann etwas wie CGI::Carp qw{fatalsToBrowser} verwenden, aber das ist nicht optimal. Es wäre besser, es in einer serverseitigen Datei protokollieren zu lassen.
Antwort1
Sie können dies verwendenLösungum sowohl STDOUT als auch STDERR an jede Protokolldatei zu senden, in die Sie schreiben können, einschließlich Ihres nginx error.log. Es wäre jedoch wahrscheinlich hilfreicher, es an eine andere Datei zu senden. Entfernen Sie einfach die STDOUT-Einträge, wenn Sie nur STDERR-Ausgaben wünschen.