我正在尝试将 Sinatra 应用程序部署到 Dreamhost,它显示以下内容:
由于DH 支持Passenger,而后者又支持基于Rack 的ruby 应用程序,DH 确实支持Sinatra。
我很难解析该语句 - Rack 和 Passenger 之间有什么区别(以及为什么 Sinatra “基于 Rack”)?
Rack是用于 Web 服务器的标准化 API,用于与 Ruby 中的中间件和 Web 框架进行通信。Phusion Passenger是一个 Apache 模块,它实现了 Rack API。Sinatra是一个建立在 Rack API 之上的Web 框架,所以因为 Dreamhost 支持 Phusion Passenger,这意味着它支持 Rack,因此也支持 Sinatra。