What's the difference between Rack and Passenger?
Question
I'm trying to deploy a Sinatra app to Dreamhost and it says the following:
Since DH supports Passenger, which in turn supports Rack-based ruby applications, DH does indeed support Sinatra.
I'm having difficulty parsing that statement - what's the difference between Rack and Passenger (and why is Sinatra "Rack-based")?
Solution
Rack is a standardized API for web servers to talk to middleware and web frameworks in Ruby. Phusion Passenger is an Apache module that implements the Rack API. Sinatra is a web framework that is built on top of the Rack API, so because Dreamhost supports Phusion Passenger, that means that it supports Rack, and thus Sinatra.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow