如何使用rbenv与乘客?

时间:2013-11-18 22:43:17

标签: passenger rbenv

我很难弄清楚如何使用rbenvpassenger。我正在运行debian 6,因此我从passenger存储库安装了oss-binaries.phusionpassenger.com。然后我安装了rbenvruby-buildruby以及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

以下是我在browsererror.log中看到的内容。

2 个答案:

答案 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;

来自How to Install and Configure Ruby With Rbenv, Rails, MariaDB, Nginx, SSL and Passenger on Ubuntu 17.04