ruby - Apache2 不执行 .rb 文件 (mod_ruby)

标签 ruby apache2

我想让 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/

相关文章:

ruby - EventMachine DeferrableChildProcess 错误处理

apache - 如何获得编辑apache2.conf文件的权限? [Ubuntu]

ruby-on-rails - SearchKick中的日期范围查询( Elasticsearch )

ruby - "CSRF detected"与 Omniauth 和谷歌

ruby-on-rails - Ruby on Rails 是否有导入现有数据库模式的方法?

ssl - 如何判断Apache2上是否安装了OpenSSL和mod_ssl

apache2 - 如何检查Apache2卡在哪里?

Apache 2 请求的 URL/在此服务器上找不到

php - 修复损坏的符号链接(symbolic link)/重新安装 php5

ruby - 多用户 RVM - 使用 sudo 执行 Ruby 脚本时 gem 路径不同