【问题标题】:How to configure Rails 5.2.1 server listen on all interfaces?如何在所有接口上配置 Rails 5.2.1 服务器监听?
【发布时间】:2018-10-12 19:19:03
【问题描述】:

我对 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 启动服务器,但这不是我想要做的。

提前感谢您的帮助!

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-5.2


    【解决方案1】:

    假设您使用的是 puma,它是 Rails 5 的默认 HTTP 服务器,绑定选项在 config/puma.rb 中定义:

    bind 'tcp://0.0.0.0:3000'
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 2011-11-06
    • 1970-01-01
    • 2015-09-18
    相关资源
    最近更新 更多