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