使用 Passenger 切换 ruby​​ 版本时出现错误

使用 Passenger 切换 ruby​​ 版本时出现错误

我最近从 2.2.5 切换到 2.1.5,并注意到我尝试编译和下载如下解释器:

[ 2015-10-25 11:15:15.3328 8841/b6ad5b40 age/Cor/CoreMain.cpp:793 ]: Disconnecting long-running connections for process 16579, application /var/apps/app/public (production)
App 17117 stdout:
App 17117 stderr:  --> Compiling passenger_native_support.so for the current Ruby interpreter...
App 17117 stderr:
App 17117 stderr:      (set PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY=0 to disable)
App 17117 stderr:
App 17117 stderr:  --> Downloading precompiled passenger_native_support.so for the current Ruby interpreter...
App 17117 stderr:
App 17117 stderr:      (set PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY=0 to disable)
App 17117 stderr:
App 17117 stderr:      Could not download https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release/5.0.20/rubyext-ruby-2.1.5-x86-linux.tar.gz: The requested URL returned error: 404 Not Found
App 17117 stderr:      Trying next mirror...
App 17117 stderr:      Could not download https://s3.amazonaws.com/phusion-passenger/binaries/passenger/by_release/5.0.20/rubyext-ruby-2.1.5-x86-linux.tar.gz: The requested URL returned error: 403 Forbidden
App 17117 stderr:  --> Continuing without passenger_native_support.so.
App 17140 stdout:

此后似乎没有任何问题(正常生成),但我想知道什么是重新编译它的正确方法,而不是从头开始,以便我可以解决这个问题?任何帮助都将不胜感激!使用 rbenv 运行 nginx + 乘客。

基本上,我想知道在使用 Debian 上的所有默认设置安装 Passenger-install-nginx-module 之后,将 Passenger 从使用一个版本的 ruby​​ 切换到另一个版本的正确步骤是什么。

答案1

如果你打算更改你的 ruby​​ 版本,我强烈推荐像这样的工具虚拟机或者(我更喜欢这个)萊本

设置和 ruby​​ 安装完成后,要切换 ruby​​ 版本,只需在乘客模块配置中调整默认 ruby​​ 即可。

/etc/apache2 $ cat mods-enabled/passenger.conf 
### Begin automatically installed Phusion Passenger config snippet  ###
<IfModule mod_passenger.c>
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  #  PassengerDefaultRuby /usr/bin/passenger_free_ruby
  PassengerDefaultRuby /home/me/.rbenv/shims/ruby
</IfModule>
### End automatically installed Phusion Passenger config snippet ###

如果您使用,rbenv您可以设置ENV精确的 ruby​​ 版本的变量,或者.ruby-version在项目的根目录中包含一个文件。

相关内容