Now, I have a great deal of time for the PhusionPassenger module used to proxy Rails (and other framework) applications into a web server and I suspect the problem is that I’m doing something wrong; this is the first time I have tried it on Nginx.
I followed the guides at https://www.phusionpassenger.com/library/deploy/nginx/deploy/ruby/ and https://wiki.archlinux.org/index.php/Ruby_on_Rails but after configuring everything for my Rails app, I just get the ‘Welcome’ page. The Passenger processes are running although the logs seem to suggest otherwise.
There’s also a problem with scaling Nginx: with Apache we can define sensitive application parameters (such as database password and secret key) as environment variables for each vhost. Nginx doesn’t support this way of working which has to make code deployment harder for a single site let alone multiple vhosts.
I know the app is working because it starts from the console with ‘rails s’.
I’m probably on firmer ground with Apache providing Rails apps so I will give that a go instead; Passenger is a joy to install this way. While Nginx is hip and funky, I think I need the maturity and stability that you can only get with Apache httpd.