I'm currently using Capistrano, Passenger and Nginx with my Rails application, but still, I'm confused on how it all works together.
Here's what I know so far:
Nginx is a web server that responds to requests, like Apache but more lightweight.
Capistrano is used for deploying web application, it uploads the application code and runs a series of scripts and migrates the database.
Passenger is somehow a mystery box to me. I know it spawns ruby processes to handle requests, but isn't this a responsibility of the web server? I've read parts of the Passenger documentation but it still doesn't make much sense. I can see it says it makes deployment a breeze, but isn't this what Capistrano does?
Can anyone give a better explanation? Thanks a lot!