504:访问生产中的rails应用程序时出现网关超时错误

时间:2014-05-02 03:54:58

标签: ruby-on-rails ruby unicorn

我正在使用 Ruby 2.1.1 Rails 4.1.0 独角兽

它建立在数字海洋水滴

这是我在

上发现的错误
I, [2013-12-20T02:08:31.304781 #4461]  INFO -- : listening on addr=127.0.0.1:8080 fd=3
I, [2013-12-20T02:08:31.305210 #4461]  INFO -- : worker=0 spawning...
I, [2013-12-20T02:08:31.305476 #4461]  INFO -- : worker=1 spawning...
I, [2013-12-20T02:08:31.305785 #4461]  INFO -- : master process ready
I, [2013-12-20T02:08:31.308891 #4463]  INFO -- : worker=1 spawned pid=4463
/home/rails/config/boot.rb:4:in `require': no such file to load -- bundler/setup (LoadError)
    from /home/rails/config/boot.rb:4
    from /home/rails/config/application.rb:1:in `require'
    from /home/rails/config/application.rb:1
    from /home/rails/config/environment.rb:2:in `require'
    from /home/rails/config/environment.rb:2
    from config.ru:4:in `require'
    from config.ru:4
    from /usr/lib/ruby/vendor_ruby/rack/builder.rb:51:in `instance_eval'
    from /usr/lib/ruby/vendor_ruby/rack/builder.rb:51:in `initialize'
    from config.ru:1:in `new'
    from config.ru:1

bootfile.rb的内容似乎是所有rails应用程序都具有的默认值。

rails app在开发时可以在Web Brick上完美运行。

2 个答案:

答案 0 :(得分:1)

这可能是两个问题之一:

  1. 未安装Bundler - 在这种情况下只需运行'gem install bundler'

  2. 您的应用程序使用两种不同的ruby安装或rubygems安装,而不是开发环境,并且生产应用程序的gemset不包含bundler。

  3. 如果您正在使用RVM,请尝试使用“rvm use 2.x.x”(或者您正在使用的任何版本),然后进行捆绑安装。

答案 1 :(得分:0)

您需要install the bundler gem,因为这是Rails抱怨的内容:

如果您通过SSH连接到服务器,则应在gem bundle install文件夹中键入/home/rails。但是,您可能还想验证您是否正在使用正确版本的Ruby,如Nikhil所述