504: Ошибка тайм-аута шлюза при доступе к приложению rails в рабочей среде.

Я использую Ruby 2.1.1 Rails 4.1.0 Unicorn.

Он установлен на цифровой капле океана

И это ошибка, которую я нашел на

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 отлично работает на Web Brick при разработке.


person Michael Victor    schedule 02.05.2014    source источник
comment
Похоже, что на вашем сервере отсутствует драгоценный камень комплекта?   -  person Rots    schedule 02.05.2014
comment
Михаил, удалось ли вам это исправить в итоге? Я сталкиваюсь с точно такой же проблемой прямо сейчас.   -  person Tintin81    schedule 23.05.2014
comment
Есть новости по этому поводу? Я смог воспроизвести эту проблему несколько раз   -  person ericraio    schedule 24.05.2014
comment
Нет, к сожалению нет. Дайте мне знать, если вы найдете решение! Мне удалось заставить приложение работать на Heroku, но я бы очень хотел вернуться в Digital Ocean!   -  person Michael Victor    schedule 25.05.2014


Ответы (2)


Это может быть одна из двух проблем:

  1. Bundler не установлен — в этом случае просто запустите «gem install bundler»

  2. Вы используете две разные установки ruby ​​или установки rubygems для своего приложения, отличные от вашей среды разработки, и gemset для вашего рабочего приложения не включает сборщик.

Если вы используете RVM, попробуйте «rvm use 2.x.x» (или любую версию, которую вы используете), а затем пакетную установку.

person Nikhil    schedule 02.05.2014
comment
1 - Пробовал это. Обратитесь к другому ответу. 2 - Я указал, что rvm использует 2.1.1 на обеих машинах, а затем установил пакетную установку. Могу ли я что-нибудь еще сделать? Я даже попробовал это на новом дроплете - person Michael Victor; 02.05.2014
comment
Используете ли вы команду sudo где-нибудь при запуске сервера? Я помню, как столкнулся с проблемой, когда мои драгоценные камни были установлены моим пользователем, не являющимся su, но я использовал sudo во время запуска своего сервера. - person Nikhil; 02.05.2014

Вам нужно будет установить драгоценный камень упаковщика, так как это то, на что жалуется Rails:

если вы подключаетесь к серверу по SSH, вы должны ввести gem bundle install в папку /home/rails. Однако вы также можете убедиться, что используете правильную версию Ruby, как указано Nikhil

person Richard Peck    schedule 02.05.2014
comment
Сделано это! *** LOCAL GEMS *** bigdecimal (1.2.4) bundle (0.0.1) bundler (1.6.2, 1.5.3) bundler-unload (1.0.2) executable-hooks (1.3.1) gem-wrappers (1.2.4) io-console (0.4.2) json (1.8.1) minitest (4.7.5) psych (2.0.3) rake (10.1.0) rdoc (4.1.0) rubygems-bundler (1.4.3, 1.4.2) rvm (1.11.3.9) test-unit (2.1.1.0) Я даже включил упаковщик в свой Gemfile - person Michael Victor; 02.05.2014