Nginx dies after a few minutes (unicorn)

I am running unicorn behind nginx to host Rails 3

Both nginx and unicorn run flawlessly when first started but nginx dies
inexplicably about 5-10 minutes later. Unicorn, however, stays up and is
still accessible through its own port.

Here is my nginx configuration pertaining to this application:

upstream unicorn {
server unix:/tmp/.sock fail_timeout=0;
}

server {
server_name example.com;
root /www/example.com/current/public;

keepalive_timeout 5;

location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_redirect off;
    if (!-f $request_filename) {
        proxy_pass http://unicorn;
        break;
    }
}

}

I have nginx’s error_log enabled with the debug flag but there are few
clues in the error log file:

2010/08/04 19:34:59 [info] 20254#0: *4 client 98.173.61.21 closed
keepalive connection
2010/08/04 19:34:59 [info] 20254#0: *5 client 98.173.61.21 closed
keepalive connection
2010/08/04 19:35:17 [info] 20254#0: *8 client 98.173.61.21 closed
keepalive connection
2010/08/04 19:35:17 [info] 20254#0: *9 client 98.173.61.21 closed
keepalive connection
2010/08/04 19:35:18 [info] 20254#0: *10 client 98.173.61.21 closed
keepalive connection
2010/08/04 19:35:18 [info] 20254#0: *11 client 98.173.61.21 closed
keepalive connection
2010/08/04 19:35:18 [info] 20254#0: *12 client 98.173.61.21 closed
keepalive connection

On Thu, Aug 05, 2010 at 04:57:24AM +0200, Stanley Sh wrote:

I am running unicorn behind nginx to host Rails 3

Both nginx and unicorn run flawlessly when first started but nginx dies
inexplicably about 5-10 minutes later. Unicorn, however, stays up and is
still accessible through its own port.

What do you mean by “dies” ?
Are you able to download any static file from nginx ?

}

}

By the way, it’s better to use this configuration:

 location / {
     try_files  $uri  $uri/  @unicorn;
 }

 location @unicorn {
     proxy_pass http://unicorn;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Host $host;
     proxy_redirect off;
 }


Igor S.
http://sysoev.ru/en/

On Thu, Aug 05, 2010 at 11:48:39PM +0200, Stanley Sh wrote:

Igor, the mistake was my own. Monit was the culprit, it was turning off
nginx because I had it misconfigured.

However, after changing the virtualhost conf to reflect your
suggestions, I now get the 403 forbidden error.

Try this:

 location / {
  •    try_files  $uri  $uri/  @unicorn;
    
  •    try_files  $uri  @unicorn;
    
    }


Igor S.
http://sysoev.ru/en/

Igor, the mistake was my own. Monit was the culprit, it was turning off
nginx because I had it misconfigured.

However, after changing the virtualhost conf to reflect your
suggestions, I now get the 403 forbidden error.

PS: spasibo za pomesh