在Amazon AMI EC2上设置Rails

时间:2016-01-17 01:58:06

标签: ruby-on-rails amazon-web-services amazon-ec2 ami elastic-ip

我最近在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页面)。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

您想要绑定到0.0.0.0。

默认情况下,Rails用于为您执行此操作,但从4.2开始,默认情况下它仅绑定到localhost,因此命令将为rails s -b 0.0.0.0

您还需要确保您的规则设置允许TCP流量到您的EC2安全组中的端口3000