我最近在EC2上创建了一个Amazon AMI(linux)实例。 做完所有的东西,当我这样做 rails服务器,cmd根本没有显示任何错误,但是当我尝试通过Firefox访问http:public_ip:3000时,我得到“无法连接”
我已经安装了Ruby,NodeJs,Rails和rvm。 我已经在IRC上询问并试过过rails -b http://public_ip:3000 与
/home/ec2-user/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/socket.rb:205:in>`bind':无法分配请求的地址 - bind(2 )for 52.48.217.79:3000>(Errno :: EADDRNOTAVAIL)
作为回报。
我也尝试过ssh到弹性IP,当我做rails -b http://public_ip:3000时,我得到了:
[2016-01-17 01:43:23] INFO ruby 2.3.0(2015-12-25)[x86_64-linux] 退出 /home/ec2-user/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/socket.rb:231:in>`getaddrinfo':getaddrinfo:名称或服务未知(SocketError)< / p>
这只是为了确保rails安装良好并且正在运行(我想看到默认的rails页面)。有人可以帮忙吗?
答案 0 :(得分:3)
您想要绑定到0.0.0.0。
默认情况下,Rails用于为您执行此操作,但从4.2开始,默认情况下它仅绑定到localhost,因此命令将为rails s -b 0.0.0.0
。
您还需要确保您的规则设置允许TCP流量到您的EC2安全组中的端口3000