【发布时间】:2011-10-24 19:25:00
【问题描述】:
我想让 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>
你能帮帮我吗?
PS。请不要建议使用 ROR。我对此很熟悉。现在我只想出于教育原因使用 ruby。另外请保持简单,我是 apache 的新手。
【问题讨论】:
-
你提到 mod_ruby 应该被加载,但我想检查
/etc/apache2/mods-enabled/ruby.load中是否有指向@中适当脚本的链接并没有什么坏处987654324@ -
两个 ruby.load 文件(在 mods-enabled 和 mods-available 中)都有指向 mod_ruby.so 的同一行。 - 我检查了它是否存在于他们指向的目录中。