vendredi 13 septembre 2019

When does Passenger look for config.ru file?

I have an up and running Rails 3.2 application with Nginx and Phusion Passenger 5.0.29. Everything works, except that a request randomly got an error 500 in response.

I looked at the logs and found in the nginx error log:

[alert] 28998#0: *187443 Cannot stat '[...]/config.ru': Permission denied (errno=13);
This error means that the Nginx worker process [...] does not have permission
to access this file. 

Oddly, similar requests (same client & same URL) processed before and after the error did not trigger this error.

I looked at the load on the server as well, and couldn't see any unusual activity (memory, CPU and disk not particularly busy).

So maybe changing permissions of the config.ru file (& folders above) might fix this issue, but more importantly I'd like to understand how it happens, to be sure I'm not missing something important.

So basically I'd like to know :

  • when does Passenger looks at config.ru?
  • why is it written as an "alert" but actually returned a 500
  • why is the error not systematic, ie why similar requests don't make Passenger look at config.ru as well?

Aucun commentaire:

Enregistrer un commentaire