0

我在一台服务器上提供三个 Ruby on Rails 应用程序,其中两个在系统默认的 ruby​​ 2.0 上运行,一个在 ruby​​ 2.2 上运行。对于后者,我在我的 VirtualHost 中设置了 PassengerRuby,如下所示:

<VirtualHost 137.154.17.242:80>
  ServerName myappaddress.com
  DocumentRoot /var/www/html/myapp/current/public
  RailsEnv production
  PassengerRuby /home/30036712/.rvm/rubies/ruby-2.2.0/bin
  <Directory /var/www/html/myapp/current/public>
    AllowOverride all
    Options -MultiViews Indexes
  </Directory>
</VirtualHost>

当我重新启动服务器并刷新应用程序上的页面时,我的 .rvm 中的 ruby​​ 2.2 被拒绝访问:

*** ERROR ***: Cannot execute /home/30036712/.rvm/rubies/ruby-2.2.0/bin: Permission denied (13)

我需要在某处进行额外的访问设置吗?其他两个应用程序使用 ruby​​ 2.0 运行良好(并且 .rvm 文件夹的权限完全相同)

4

1 回答 1

1

您指定了 Ruby bin目录。但是您确实需要指定 Ruby 包装器脚本。请参阅https://www.phusionpassenger.com/library/config/apache/reference/#setting_correct_passenger_ruby_value

于 2015-09-02T00:09:39.897 回答