【问题标题】:How to use rbenv with passenger?如何将 rbenv 与乘客一起使用?
【发布时间】:2013-11-18 22:43:17
【问题描述】:

我很难弄清楚如何使用rbenvpassenger。我正在运行debian 6,所以我从oss-binaries.phusionpassenger.com 存储库安装了passenger。然后我安装了rbenvruby-buildrubysinatra。然后我创建了一个测试应用程序。

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 中看到的内容。

【问题讨论】:

  • 您的乘客配置 sn-p 实际上看起来是正确的。我不确定为什么它不起作用,我对 rbenv 不够熟悉。它可能与 rbenv 期望的环境变量有关,但是当应用程序通过Passenger运行时,这些变量不可用。
  • 我已经找到了解决方案。问题是我没有指定使用哪个红宝石。因此,rbenv 决定使用系统ruby-1.8,与passenger 一起安装。

标签: passenger rbenv


【解决方案1】:

解决方案是指定应用程序特定版本的ruby

$ cd ~/a1
$ rbenv local 1.9.3-p385

【讨论】:

    【解决方案2】:

    编辑/创建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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多