Vhost error_log ignored with passenger

I’m using passenger and seeing that stdout & stderr are going to nginx’s
default error log, rather than what’s specified in the server {
error_log … } directive. Is this a known bug in nginx or passenger?

server {
    listen      8082;
    access_log  logs/ruby-access.log  main;
    error_log   logs/ruby-error.log;  ## nothing in here from ruby's

root /Users/paulm/Code/nginx/public;
location / {
passenger_enabled on;

Here’s all the code & config; it’s a trivial Sinatra server:

Phusion Passenger from here: http://www.modrails.com/install.html (seems
to install nginx 1.0.10)

(The workaround is to File#reopen in config.ru but I’d like to avoid
this, if possible.)

Many thanks!


Posted at Nginx Forum:

I can confirm this.

nginx version: nginx/1.0.12
Phusion Passenger version 3.0.11

In my case, I have error_log defined at all three levels, as described


Posted at Nginx Forum:

When reopening $stderr in “a” (append) mode, the file is not written to.
However, when reopening with “w” (write) mode, things work as expected.

Also, since I have the server error log set to debug, reopening $stderr
also results in other messages being written. For example, info

Posted at Nginx Forum:

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