我在一台服务器上提供三个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文件夹的权限完全相同)
答案 0 :(得分:0)
您指定了Ruby bin 目录。但是你真的需要指定Ruby包装器脚本。见https://www.phusionpassenger.com/library/config/apache/reference/#setting_correct_passenger_ruby_value