Answers:
在Web服务器环境中运行ruby代码的最常见方法是使代码实现机架接口。这是一个非常简单的API,可让网络服务器与您的ruby应用程序对话。对于Apache,最常见的机架处理程序是乘客(也称为mod_rails和mod_rack)。几乎所有当前的ruby Web框架(如rails,sinatra,camping等)都使用机架处理程序连接到Web服务器。您可以使用这些框架之一,但也可以直接使用这些框架而无需编写框架应用程序。所有红宝石应用服务器(杂种,薄,独角兽,彩虹等)都实现了机架接口。
另一种选择是使用(f)cgi,但我建议您远离该路由,因为接口和协议很尴尬,并且实际上并没有提供现代化的管理功能。
一段时间以来,我一直在尝试找到该问题的简单答案,并且您所要做的就是将ruby脚本放入Web服务器的cgi-bin目录中并加载相应的URL。因此,例如,在默认的CentOS 6.2 / httpd安装中,我在/ var / www / cgi-bin /中放置了一个名为hello.rb的脚本,然后在我的计算机中加载了http://localhost/cgi-bin/hello.rb浏览器,它执行了脚本,并向我展示了去STDOUT的内容(即来自puts等)。
每次加载URL时,脚本将完全运行,这是在这里发生的情况。这对于大容量的Web服务器或对速度至关重要的服务器不是理想的选择-因此,诸如fastCGI之类的东西可使脚本始终运行,但是您必须编写脚本来处理它。
希望能有所帮助。
您可以使用快速CGI执行ruby脚本。有关更多信息,请参见fcgi项目。
尝试modruby。
Invalid command 'RubyAddPath'
这是没有人做过的神秘事物吗?与PHP相比,让Ruby与Apache协同工作的艰辛让我感到惊讶。
AddHandler ruby-object .rbx
,LoadModule ruby_module /path/to/mod_ruby
,RubyRequire apache/ruby-run
,和RubyHandler Apache::RubyRun.instance
对httpd.conf
应该够简单的配置。