如何检测Rails应用程序使用的服务器(瘦,美洲狮,乘客......)?

时间:2014-05-23 13:47:44

标签: ruby-on-rails ruby

我需要根据用于启动应用程序的Web服务器执行某些初始化。是否可以通过rails初始化程序以编程方式检测它?

4 个答案:

答案 0 :(得分:1)

即使它不是那么干净,你也可以使用

defined?(::Thin) 
defined?(::Unicorn)
defined?(::Passanger)

等等。这适用于这三个,你必须检查它是否适用于其他人。

答案 1 :(得分:0)

这是一种执行它的hacky方式(在config/application.rb添加中):

module Rails
  class Server < ::Rack::Server
    alias_method :old_start, :start
    def start
      puts server.name # or set an ENV variable
      old_start
    end
  end
end

答案 2 :(得分:0)

您可以使用ps aux

检查进程是否正在运行
ps aux | grep passenger
ps aux | grep puma
ps aux | grep unicorm

答案 3 :(得分:-1)

我最后使用https://www.builtwith.com,它提供了您想要的所有详细信息。