首页  >  问答  >  正文

ruby - rails 生成的项目开启服务后,为什么 “无法访问”

我时个新手……折腾好几天了 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 来开启服务,也是无法访问

PHPzPHPz2712 天前1052

全部回复(4)我来回复

  • 迷茫

    迷茫2017-04-22 09:01:10

    1. 这个“Linux服务器”是真实的网络另一端的服务器,还是你本地的虚拟机?

    2. 如果是真实的服务器,建议检查防火墙。如果是虚拟机,建议配置虚拟机,使用端口转发,例如把虚拟机的3000端口转发到母机器4000端口,这样你在母机器通过 127.0.0.1:4000就可以访问到项目了。

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-22 09:01:10

    看输出正常,监听0.0.0.0是允许所有的都可以访问,还不可以的话,看看防火墙

    把防火墙关了试试

    回复
    0
  • 迷茫

    迷茫2017-04-22 09:01:10

    虚拟机上解决外部浏览器无法访问虚拟机里配置的rails环境问题:
    使用 rails s -b192.168.xx.xx
    -b后面是需要监控的ip,也就是服务器的ip地址,然后可以访问
    因为如果按照 rails s 直接打开服务时候,监控的是 http://localhost:3000,或者是127.0.0.1
    所以需要改一下监控ip,当然也可以改一下监控端口加上 -pxxxx 即可

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-22 09:01:10

    解决了吧

    rvmsudo rails s -b 0.0.0.0 -p 80
    其中0.0.0.0 是允许的IP
    80是端口

    祝好运

    回复
    0
  • 取消回复