views:

244

answers:

1

We have an environment running that uses Apache, Passenger and rails. The system is handling most request normally, yet certain requests do not make it to the rails application. For instance, a request to /books is successful, but /books/1 hits apache and passenger, but does not even make it to rails.

We set the apache log level to debug and the passenger log level to 3 so that we could monitor all incoming requests. We could see each request coming through and even the /books/1 request is being handled by passenger. But it never gets to rails.

Is there any way to determine where the request goes between Passenger and rails or where debugging information might live? Has anyone ever seen any problems with passenger spawning or queuing? We have spawning set to conservative. Also, we have had some permission/ownership problems in the past, so I am not ruling this out yet.

Thanks in advance

A: 

First guess: is that it's reading from your cache at public/books/1.html. This fits all the symptoms. If there is a public/books/1.html file when you go to request books/1 Apache will serve the request by sending just that file.

Second guess: alternate configuration is mucking about with how Apache is serving the route.

Ryan Bigg
Regarding your first guess, I don't think it's caching the file, because apache serves up a 500 error after it doesn't 'hear back' from rails within a certain amount of time. Regarding your second guess, that is an interesting idea. We'll look into that.
Matt Dressel
I second Ryan's guesses, and it still sounds like it could be cached -- Did you look in your public/ dir? What files are there?
bantic