我最近从 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
在项目的根目录中包含一个文件。