Nginx not starting with named pipe (fifo) for access_log

Heya,

there seems to be a issue with Nginx and named pipes (fifo).

Tested nginx versions:

Issue description:
As soon as a named pipe is defined as access_log, nginx refuses to
start. It just stales during the start and that’s it. The only you can
do is kill the process.
The named pipe has been created with: mkfifo -m 0666 /var/log/test.log

I have tested 2 versions of Nginx (1.1.19, 1.4.4) using Ubuntus
repository. Different locations and different permissions of the named
pipe have been tried, didn’t help.
Other programs work just fine with the named pipe, only Nginx seems to
refuse it.

Configuration:
–snip–
http {
[…]
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
access_log /var/log/test.log;
[…]
}
–snap–

strace output:
–snip–
[…]
open("/var/log/nginx/access.log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 5
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
open("/var/log/nginx/error.log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 6
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
open("/var/log/test.log", O_WRONLY|O_CREAT|O_APPEND, 0644
[ CTRL+C ]
–snap–

Did anyone else experience such behavior? I tried searching for it but
couldn’t find anything, only people seeming to successfully use named
pipes (eg. in conjunction with syslog-ng).

Cheers,
Sven

Do you have a program set up to read from the other end of those pipes?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs