我想让 apache2 运行 ruby 脚本。我设法通过使用 CGI 做到了这一点,但现在我想更进一步,使用 mod_ruby 来做到这一点。我通过 apt-get 安装了 mod_ruby,所以它应该被启用,但是当我访问 http://localhost/test.rb 时我的浏览器下载文件而不是显示它的输出。
如果我打开/etc/apache2/mods-enabled/ruby.load 有一行包含执行此 mod 的路径。
我还在我的 apache2.conf 中添加了以下行:
<IfModule mod_ruby.c>
<Directory /var/www/>
Options +ExecCGI
</Directory>
RubyRequire apache/ruby-run
#RubySafeLevel 0
<Files *.rb>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>
<Files *.rbx>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>
</IfModule>
你能帮帮我吗?
附言。请不要建议使用 ROR。我对此很熟悉。现在,出于教育原因,我只想使用 ruby。另外请保持简单,我是 apache 的新手。
最佳答案
参见 this article - 它有一些说明。基本上,您需要告诉 Apache 通过处理程序传递您的 Ruby 文件。
此外,考虑尝试 Sinatra - 它是一个微型 Web 框架,就像普通的 ruby 文件一样简单。它与 Passenger 一起运行这是用于 Apache 的 有据可查的 Ruby 模块。
关于ruby - Apache2 不执行 .rb 文件 (mod_ruby),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880810/