Ruby Sinatra或Rack应用程序是否可以确定它是使用Apache还是Thin运行的?
我正在尝试对Sinatra应用程序进行一些愚蠢的自动配置,这将允许从不同的子URI使用它,这取决于它是使用Apache和Passenger运行的,还是使用瘦web服务器运行的 所以我的问题是:是否有可能从Sinatra应用程序内部找到运行它的web服务器?您无法(据我所知)看到它是否在Apache上运行,但您可以检查它是否在Passenger上运行:Ruby Sinatra或Rack应用程序是否可以确定它是使用Apache还是Thin运行的?,ruby,sinatra,rack,Ruby,Sinatra,Rack,我正在尝试对Sinatra应用程序进行一些愚蠢的自动配置,这将允许从不同的子URI使用它,这取决于它是使用Apache和Passenger运行的,还是使用瘦web服务器运行的 所以我的问题是:是否有可能从Sinatra应用程序内部找到运行它的web服务器?您无法(据我所知)看到它是否在Apache上运行,但您可以检查它是否在Passenger上运行: if defined?(PhusionPassenger) # We are running Passenger! end 您应该能够对Th
if defined?(PhusionPassenger)
# We are running Passenger!
end
您应该能够对Thin执行相同的操作:
if defined?(Thin)
# We are running Thin!
end
您无法(据我所知)查看它是否在Apache上运行,但您可以检查它是否在Passenger上运行:
if defined?(PhusionPassenger)
# We are running Passenger!
end
您应该能够对Thin执行相同的操作:
if defined?(Thin)
# We are running Thin!
end
谢谢,这个有用!(我想我试着使用定义?
,但可能弄糟了什么)。谢谢,这很有效!(我想我试图使用定义?
,但可能弄糟了一些东西)。