Как настроить сервер Rails 5.2.1 на прослушивание всех интерфейсов?
Я все еще довольно плохо знаком с 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 ответ
Предполагая, что вы используете Puma, который является HTTP-сервером по умолчанию для Rails 5, параметры привязки определены в config/puma.rb
:
bind 'tcp://0.0.0.0:3000'