我很难弄清楚如何使用rbenv
和passenger
。我正在运行debian 6
,因此我从passenger
存储库安装了oss-binaries.phusionpassenger.com
。然后我安装了rbenv
,ruby-build
和ruby
以及sinatra
。然后我创建了一个测试应用程序。
nginx.conf
:
server {
server_name a1;
root /home/yuri/a1/public;
access_log /var/log/nginx/a1-access.log;
error_log /var/log/nginx/a1-error.log;
passenger_ruby /home/yuri/.rbenv/shims/ruby;
passenger_enabled on;
}
~/a1/config.ru
:
require './app'
run Sinatra::Application
~/a1/app.rb
:
require 'sinatra'
get '/' do
"Hello World!"
end
答案 0 :(得分:3)
解决方案是指定特定于应用程序的ruby
版本:
$ cd ~/a1
$ rbenv local 1.9.3-p385
答案 1 :(得分:0)
编辑/创建passenger.conf 文件
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
告诉乘客使用 Rbenv 设置。它可能包含一行指向Passenger 包含的Ruby 版本,只需将其删除或注释掉即可。
passenger_ruby /home/yuri/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;