新手问题 Rails 小白求助,阿里云上运行 rails server 后,怎么在本地浏览器访问啊?

nemo733 · 2015年10月24日 · 最后由 dudu_zzzz 回复于 2015年10月26日 · 3435 次阅读

公网 ip:3000 显示无法访问啊,求助

服务器有对外开放 3000 端口么?

rails server -b 0.0.0.0

#2 楼 @kikyous 3Q,可以了,可以简单说一下机制吗?

使用 'rails sever'的时候需要注意,这个命令对环境有依赖,如果是内网,比如你自己的机器上可以直接使用'rails server',如果要在公网上发布,比如云平台,就必须必须使用'-b'(指定 ip 地址) 或'-p'(指定端口号) 来配合使用。上面那个使用了'-b'指定了一个 ip 地址,就是告诉 Rails,我要发布一个应用在公网上,那么 Rails 就会根据公网的发布模式,发布应用。Clou9 云平台支持动态 ip 那么发布应用的命令就该这么写 rails sever -b $IP -p $PORT。 $IP 和 $PORT 是两个变量,可以动态获取 IP 和端口。

#3 楼 @nemo733 -b--bind 的简写,忘了从哪个版本的 Rails 开始,rails s 默认只监听 localhost 来源的请求,也就是本机。当设置 -b 0.0.0.0 的时候就监听了来自任意 ip 的请求。至于为什么0.0.0.0是监听任意 IP,请自行 Google 吧……

顺便啰嗦一条 rails s -b 0.0.0.0 -e production 可以选择在哪个环境启动 rails server

关于命令行可以看这里,http://guides.rubyonrails.org/command_line.html#rails-server

需要 登录 后方可回复, 如果你还没有账号请 注册新账号