Rails Webrick服务器默认IP和端口

时间:2015-09-26 17:21:17

标签: ruby-on-rails amazon-ec2 default webrick

Rails -v 4.1.1 Ruby -v 2.2.1

我在一个AWS EC2实例上有2个rails应用程序。一个应用程序,我可以在Webrick上启动:

rails server

然后,我可以通过以下URL远程访问该应用程序:

 http://[public_ip]:3000

第二个应用程序,我必须提供-b和-p选项。如果没有在http://[public_ip]:3000访问应用程序的选项,则会给我:

This webpage is not available
connection attempt to [public_ip] was rejected. The website may be down, or your network may not be properly configured.

适用于第二个应用的唯一服务器启动时间是:

rails s -b 0.0.0.0 -p 3000

然后我可以在http://[public_ip]:3000访问第二个应用。第二个应用程序是我在服务器上创建的全新应用程序。第一个应用程序是我从现有应用程序检出的代码。 如何让第二个应用与第一个应用相同?

1 个答案:

答案 0 :(得分:0)

在Rails 4.2之前,rails s命令的默认绑定主机为0.0.0.0。从Rails 4.2开始,它是localhost。所以难怪你在新应用中遇到这个问题。

如果您希望新应用自动开始0.0.0.0,请将其添加到config/boot.rb

require 'rails/commands/server'
module Rails
  class Server
    def default_options
      super.merge(Host:  '0.0.0.0', Port: 3000)
    end
  end
end

基于this answer