这与这个问题类似,但没有得到答复: 如何通过 fcgiwrap/nginx 调试 CGI
如何让 perl 错误自动放入 nginx 错误日志中?目前,当出现任何 perl 错误时,错误日志中会出现以下消息:
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"
这对于调试来说完全没用。我可以使用类似 CGI::Carp qw{fatalsToBrowser} 的东西,但这不是最佳选择。最好将其记录到服务器端文件中。
答案1
你可以使用这个解决方案将 STDOUT 和 STDERR 发送到您有权写入的任何日志文件,包括您的 nginx error.log。尽管将其发送到其他文件可能会更有帮助。如果您只想要 STDERR 输出,只需删除 STDOUT 条目即可。