nginx如何重定向日志到标准输出

在docker中运行nginx,发现nginx的CPU使用升高时,containerd-shim、dockerd的CPU使用也升高。 nginx使用host网络,它的运行应该和docker完全无关才对。 同事提醒说,dockerd会捕获它所启动进程的标准输出、错误输出。 查看nginx的access log,果然是空的,也就是说nginx把日志重定向到了标准输出。

查了半天nginx的配置,没发现任何相关配置,最后在StackOverflow上找到了答案,docker发行版把日志符号链接到了stdout/stderr,如下:

$ ls -l access.log error.log
lrwxrwx 1 root root 11 Feb 22 13:10 access.log -> /dev/stdout
lrwxrwx 1 root root 11 Feb 22 13:10 error.log -> /dev/stderr

服了,还有这般骚操作。这么配置有啥好处呢?

Author: zhengzhiyong

Created: 2023-11-12 日 10:48

Validate