【问题标题】:Can a Sinatra or Rack application find out if it is running with Apache or Thin?Sinatra 或 Rack 应用程序能否确定它是使用 Apache 还是 Thin 运行?
【发布时间】:2012-06-14 13:37:46
【问题描述】:

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

所以我的问题是:是否可以从 Sinatra 应用程序内部找出运行它的 Web 服务器是什么?

【问题讨论】:

    标签: ruby sinatra rack


    【解决方案1】:

    您无法(据我所知)查看它是否在 Apache 上运行,但您可以检查它是否在Passenger 上运行:

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

    你应该可以为 Thin 做同样的事情:

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

    【讨论】:

    • 谢谢,这行得通! (我以为我尝试使用defined?,但可能搞砸了)。
    猜你喜欢
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    • 2013-03-11
    • 2015-07-23
    • 2010-12-01
    相关资源
    最近更新 更多