Sinatra或Rack应用程序可以查看它是否与Apache或Thin一起运行?

时间:2012-06-14 13:37:47

标签: ruby sinatra rack

我正在尝试对Sinatra应用程序进行一些愚蠢的自动配置,允许从不同的子URI中使用它,具体取决于它是使用Apache和Passenger运行,还是使用瘦Web服务器运行。

所以我的问题是:是否有可能从Sinatra应用程序中找出哪个Web服务器运行它?

1 个答案:

答案 0 :(得分:5)

你不能(据我所知)看看它是否在Apache上运行,但你可以检查它是否在Passenger上运行:

if defined?(PhusionPassenger)
  # We are running Passenger!
end

你应该能够为Thin做同样的事情:

if defined?(Thin)
  # We are running Thin!
end