我正在尝试做的事情:使用 multilog 记录轮换 nginx 访问和错误日志
我的方法:将 nginx 访问和错误记录到管道中,这样我就可以让另一个进程运行 multilog,从该管道读取数据,并让 multilog 进行日志轮换
nginx.conf
access_log /var/log/nginx/access/pipe;
error_log /var/log/nginx/access/pipe;
我确保我创建了管道并给予任何人足够的权限来使用它
$ sudo mkfifo /var/log/nginx/access/pipe /var/log/nginx/error/pipe
$ sudo chmod a+rwx /var/log/nginx/access/pipe /var/log/nginx/error/pipe
但是,当我启动 nginx 时,它会挂起,就像在等待 stdin 之类的东西一样。我可能在这里遗漏了一些东西。
我尝试对管道进行简单的回显
$ echo a > /var/log/nginx/access/pipe
而且它还挂起,好像在等待更多输入。也许
答案1
我认为在启动 Nginx 之前,multilog 需要监听管道。