Nginx not starting with named pipe (fifo) for access_log

Manole, Sorin manole at amazon.com
Sun Jan 26 16:54:02 UTC 2014


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

-----Original Message-----
From: nginx-bounces at nginx.org [mailto:nginx-bounces at nginx.org] On Behalf Of Sven Wiese
Sent: 2 ianuarie 2014 19:00
To: nginx at nginx.org
Subject: 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:
- 1.1.19 (Ubuntu 12.04.3 LTS amd64)
- 1.4.4 (Ubuntu 12.04.3 LTS amd64 with PPA https://launchpad.net/~nginx/+archive/stable )
- 1.4.4 (CentOS 6.5 amd64 with repo
http://nginx.org/packages/centos/$releasever/$basearch/ )

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






Amazon Development Center (Romania) S.R.L. registered office: 3E Palat Street, floor 2, Iasi, Iasi County, Iasi 700032, Romania. Registered in Romania. Registration number J22/2621/2005.



More information about the nginx mailing list