我怎样才能通过Apache执行Ruby脚本(不一定使用Rails)?

我试图让Apache解释我的Ruby文件,但我不明白该怎么做。 我现在不关心Rails,只有Ruby。 Googlesearch结果只会让我感到困惑。 有什么build议?

在web服务器环境中运行ruby代码最常用的方法是让代码实现一个机架接口。 这是一个非常简单的API,允许Web服务器与您的Ruby应用程序通话。 对于Apache来说,最常见的机架处理器是乘客(也就是mod_rails和mod_rack)。 几乎所有当前的ruby web框架(如rails,sinatra,camping,…)都使用rack处理程序连接到web服务器。 您可以使用这些框架之一,但是您也可以直接编写机架应用程序。 所有的ruby应用程序服务器(杂种,薄,独angular兽,彩虹,…)实现机架接口。

另一种方法是使用(f)cgi,但是我build议你远离那条路线,因为界面和协议很尴尬,并不真正提供现代pipe理设施。

你可以用cgi来执行ruby脚本。 看看fcgi项目了解更多信息。

我一直在试图find这个问题的一个简单的答案,现在想通了,你需要做的就是把ruby脚本放到你的web服务器的cgi-bin目录下,并加载相应的URL。 因此,例如,在默认的CentOS 6.2 / httpd安装中,我将一个名为hello.rb的脚本放在/ var / www / cgi-bin /中,然后将http://localhost/cgi-bin/hello.rb加载到我的浏览器,它执行的脚本,并告诉我什么去了STDOUT(即从投入等)。

这里发生的每一次URL加载,脚本完全运行。 这对高容量的networking服务器来说并不理想,或者速度是至关重要的 – 所以像fastCGI这样的东西总是让脚本运行,但是你必须编写脚本来处理这个脚本。

希望有所帮助。

尝试modruby 。