问题描述
我时个新手……折腾好几天了 TAT现在用的是最新的rails,今天在linux (centos6.4) 安装好ruby,rails后新建的项目,启动 rails server后如下提示
=> Booting WEBrick=> Rails 4.1.6 application starting in development on http://0.0.0.0:3000=> Run rails server -h for more startup options=> Ctrl-C to shutdown server[2014-10-01 15:51:07] INFO WEBrick 1.3.1[2014-10-01 15:51:07] INFO ruby 2.1.3 (2014-09-19) [i686-linux][2014-10-01 15:51:07] INFO WEBrick::HTTPServer#start: pid=30770 port=3000
但是我在浏览器访问 http://linux服务器IP:3000 确是无法访问……(因为不是本机当然不能用 127.0.0.1 去访问咯,即使有-b linux服务器IP 来开启服务,也是无法访问
问题解答
回答1:这个“Linux服务器”是真实的网络另一端的服务器,还是你本地的虚拟机?
如果是真实的服务器,建议检查防火墙。如果是虚拟机,建议配置虚拟机,使用端口转发,例如把虚拟机的3000端口转发到母机器4000端口,这样你在母机器通过 127.0.0.1:4000就可以访问到项目了。
回答2:看输出正常,监听0.0.0.0是允许所有的都可以访问,还不可以的话,看看防火墙
把防火墙关了试试
回答3:虚拟机上解决外部浏览器无法访问虚拟机里配置的rails环境问题:使用 rails s -b192.168.xx.xx-b后面是需要监控的ip,也就是服务器的ip地址,然后可以访问因为如果按照 rails s 直接打开服务时候,监控的是 http://localhost:3000,或者是127.0.0.1所以需要改一下监控ip,当然也可以改一下监控端口加上 -pxxxx 即可
回答4:解决了吧
rvmsudo rails s -b 0.0.0.0 -p 80其中0.0.0.0 是允许的IP80是端口
祝好运