2

我最近在 EC2 上创建了一个 Amazon AMI(linux) 实例。做完所有的 yum 工作后,当我做 rails server 时,cmd 根本没有显示任何错误,但是当我尝试通过 Firefox 访问 http:public_ip:3000 时,我得到“无法连接”

我已经安装了 Ruby、NodeJs、Rails 和 rvm。我在 IRC 上询问过并尝试使用 rails s -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) 用于 52.48。 217.79:3000 >(Errno::EADDRNOTAVAIL)

作为回报。

我也尝试过 ssh 到弹性 IP,当我做 rails s -b http://public_ip:3000我得到:

[2016-01-17 01:43:23] 信息 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: Name or service not known (SocketError)

这只是为了确保 rails 安装良好并运行(我想查看默认的 rails 页面)。任何人都可以帮忙吗?

4

1 回答 1

3

You want to bind to 0.0.0.0.

Rails used to do this for you by default, but starting with 4.2 it only binds to localhost by default, so the command will be rails s -b 0.0.0.0.

You'll also need to make sure you have a rule set up allowing TCP traffic to port 3000 in your EC2 security group

于 2016-01-17T07:00:55.437 回答