Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 乘客使用错误的ruby版本_Ruby On Rails_Ruby_Apache_Rvm_Passenger - Fatal编程技术网

Ruby on rails 乘客使用错误的ruby版本

Ruby on rails 乘客使用错误的ruby版本,ruby-on-rails,ruby,apache,rvm,passenger,Ruby On Rails,Ruby,Apache,Rvm,Passenger,我在Apache上运行多个网站,在CentOS服务器上运行Passenger 4.0.45。我也在RVM1.25.27上安装了多个ruby版本,在过去的3年里,我一直在使用ruby 2.1.2版本。 我现在已经用Rails 5.1启动了一个新的应用程序,我需要安装Ruby 2.4.2。部署应用程序后,我收到一个内部服务器错误,这是我在错误日志中看到的错误: App 10033 stderr: /usr/local/rvm/gems/ruby-2.1.2@rails-4.0/gems/passen

我在Apache上运行多个网站,在CentOS服务器上运行Passenger 4.0.45。我也在RVM1.25.27上安装了多个ruby版本,在过去的3年里,我一直在使用ruby 2.1.2版本。 我现在已经用Rails 5.1启动了一个新的应用程序,我需要安装Ruby 2.4.2。部署应用程序后,我收到一个
内部服务器错误
,这是我在错误日志中看到的错误:

App 10033 stderr: /usr/local/rvm/gems/ruby-2.1.2@rails-4.0/gems/passenger-4.0.45/lib/phusion_passenger/request_handler.rb:356:in `trap'
App 10033 stderr: :
App 10033 stderr: Invalid argument - SIGKILL
App 10033 stderr:  (
App 10033 stderr: Errno::EINVAL
App 10033 stderr: )
我注意到出现的ruby版本是
ruby-2.1。2@rails-4.0
我认为应该是
2.4.2
,因为这是我在VirtualHost文件中指定的版本:

<VirtualHost *:80>
   ServerName example.com
   DocumentRoot /.../current/public
   PassengerRuby /home/user/.rvm/wrappers/ruby-2.4.2@global/ruby
   <Directory 
        /home/user/.../current/public>
        AllowOverride all
        Options -MultiViews
  </Directory>
</VirtualHost>

ServerName example.com
DocumentRoot/../current/public
PassengerRuby/home/user/.rvm/wrappers/ruby-2.4。2@global/红宝石
允许超越所有
选项-多视图

我已经在上读到了这个bug,但我不知道我是否可以在更新Passenger的同时不打乱其他使用旧版本Ruby运行的站点。

我已经找到了问题的答案。我将解释我所做的:

  • rvm安装2.4.2(安装Ruby版本2.4.2)
  • rvm使用2.4.2(使用Ruby 2.4.2版本)
  • gem安装乘客(安装乘客gem)
  • passenger-install-apache2-module(这将指导您完成Apache的passenger模块的安装,大约需要3分钟)
  • 乘客模块安装完成后,我已使用安装摘要指定的新
    LoadModule
    PassengerRoot
    更新了我的
    httpd.conf
    文件)
  • rvmsudo乘客配置验证安装(检查乘客是否正确安装)
  • sudo服务httpd重启(重启Apache)
在执行了上述命令之后,我使用Rails 5.1的新应用程序与服务器中运行在较低Ruby/Rails版本上的其他站点一样工作正常