Как настроить сервер Rails 5.2.1 на прослушивание всех интерфейсов? - PullRequest
0 голосов
/ 12 октября 2018

Я все еще довольно новичок в RoR и в обучении, поэтому, пожалуйста, потерпите меня, если у меня возникнут дополнительные вопросы.Наше приложение Rails (v 5.0.2) было настроено на прослушивание всех интерфейсов с этой конфигурацией в config/boot.rb:

require 'rails/commands/server'
module Rails
  class Server
    def default_options
      # make rails listen on all interfaces (accept connections from any ip)
      super.merge(Host: '0.0.0.0', Port: 1234)
    end
  end
end

Я недавно обновил Rails с 5.0.2 до 5.2.1 и при запуске rails s, я получаю:

/Users/aum/rails_app/config/boot.rb:5:in `require': cannot load such file -- rails/commands/server (LoadError)
    from /Users/aum/rails_app/config/boot.rb:5:in `<top (required)>'
    from bin/rails:8:in `require_relative'
    from bin/rails:8:in `<main>'

Итак, я обновил 'require' до rails/commands/server/server_command, и теперь я получаю

rails s
/Users/aum/.rvm/gems/ruby-2.3.3@rails_app/gems/railties-5.2.1/lib/rails/commands/server/server_command.rb:110:in `<module:Command>': uninitialized constant Rails::Command::Base (NameError)
Did you mean?  Base64
  from /Users/aum/.rvm/gems/ruby-2.3.3@rails_app/gems/railties-5.2.1/lib/rails/commands/server/server_command.rb:109:in `<module:Rails>'
  from /Users/aum/.rvm/gems/ruby-2.3.3@rails_app/gems/railties-5.2.1/lib/rails/commands/server/server_command.rb:11:in `<top (required)>'
  from /Users/aum/rails_app/config/boot.rb:5:in `require'
  from /Users/aum/rails_app/config/boot.rb:5:in `<top (required)>'
  from bin/rails:8:in `require_relative'
  from bin/rails:8:in `<main>'

Я не уверен, как / где указатьхост и порт в Rails 5.2.1, поскольку здесь также изменились определения default_options: https://github.com/rails/rails/blob/master/railties/lib/rails/commands/server/server_command.rb#L68

ПРИМЕЧАНИЕ: я могу запустить сервер с rails s -b 0.0.0.0 -p 1234, но это не то, что я пытаюсь сделать.

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 13 октября 2018

Если вы используете puma , который является HTTP-сервером по умолчанию для Rails 5, параметры привязки определены в config/puma.rb:

bind 'tcp://0.0.0.0:3000'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...