无法访问 http://localhost:3000
Posted
技术标签:
【中文标题】无法访问 http://localhost:3000【英文标题】:Cannot access http://localhost:3000 【发布时间】:2010-10-07 18:57:13 【问题描述】:我正在尝试学习 Ruby on Rails,我已按照 page 中的说明在我的 PC 上安装 rails。
我也在尝试关注这个webcast 来尝试学习语言和框架。到目前为止一切正常,除了我无法访问
http://localhost:3000
http://0.0.0.0:3000
http://127.0.0.1:3000, or
http://<actual IP address>:3000
本地。如果我尝试从我网络上的另一台 PC 上运行,那么效果很好。我已经在 Chrome、Firefox 和 IE7 中尝试过,但都没有。
有其他人遇到过这个问题吗?
编辑:典型!!它现在开始工作了。我不知道为什么,我在地址栏中输入了完全相同的地址,现在它可以工作了。但只有当我使用http://127.0.0.1:3000
时,localhost 才起作用。我确实在这台机器上运行 IIS ASP.NET/ASP 网站,它们在 localhost 上运行良好。
编辑 2:如果我尝试 ping 本地主机,它实际上会说
Reply from ::1: time<1ms
0.0.0.0 产量...
PING: transmit failed, error code 1214
似乎只有 127.0.0.1 有效。我确实打开了 IPv6,所以我禁用了它,明天再试一次,看看重启是否有帮助。
【问题讨论】:
对我来说,这听起来像是一个糟糕的网络设置。您是否使用了代理? (作为评论添加,因为它并没有真正回答任何问题)。 您是否正在运行任何类型的第 3 方防火墙? AVG Internet Security 和 Apache 也出现了类似的问题。 【参考方案1】:我对 Vagrant 也有这个问题。秘诀就是跑
bin/rails server -b 0.0.0.0
0.0.0.0 的意思是监听所有接口,而不仅仅是本地主机。另一种方法是使用 SOCKS 代理通过 SSH 连接到 vagrant 机器。
ssh -C -D 8080 vagrant@localhost
打开您的 Internet Explorer 代理设置并将 SOCKS v5 代理设置为端口 8080。
【讨论】:
【参考方案2】:要访问http://localhost:3000
,您需要在终端窗口中运行本地 Rails 服务器:
$ rails server
这在this section of the Rails Tutorial book 中有描述。
注意:我是相关截屏视频的演示者。
【讨论】:
【参考方案3】:你能telnet到端口吗?试试:
telnet localhost 3000
这应该告诉您端口是否在 TCP 级别不可用,或者是否在 HTTP 级别发生了某些事情。
如果禁用 ICMP,Ping 可能无法正常工作,这可能与您的问题完全无关。
另外,请尝试在您的主机文件中查找任何重定向:
c:\Windows\System32\drivers\etc\hosts
【讨论】:
我检查了主机文件,其中有 2 个 localhost 条目,一个用于 127.0.0.1,另一个用于 ::1。我注释掉了后者,现在 IE 和 firefox 与 localhost:3000 一起工作。非常感谢。 连接被拒绝。 rubyonrails.org/download,就在editors
上方,一排。【参考方案4】:
一种方法是做简单的事情
rails s
另一个(更具体地说)是
rails start localhost 0.0.0.0
或
rails start 0.0.0.0
另一种方法是
rails s 0.0.0.0
所有这些作品
【讨论】:
【参考方案5】:我的系统路径(环境变量)设置不正确。
简单的复制粘贴工作,取消了 1 周停滞的 Ruby 安装。
Control Panel > System > Advanced tab > Environment Variables > System variables > Path... Edit...
确保它包含这些路径(以及其他路径)...
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
【讨论】:
【参考方案6】:我遇到了同样的问题。你只需要运行
$ rails server
从应用程序的文件夹内部,而不是外部......所以,如果你的应用程序在
C:\Sites\myapp\blog
而 blog 是您的应用程序所在的文件夹,必须从此处提示该命令。从 myapp 文件夹启动它不起作用。
【讨论】:
在应用程序文件夹中运行“命令,而不是在外部”也解决了我的问题。应该标记为答案【参考方案7】:您是否可能使用代理但未将 localhost 列为代理例外?
【讨论】:
我没有为本地网络或任何其他网络使用代理。 @bluebrother 这应该是一条评论【参考方案8】:您是否尝试过禁用防火墙?它们有时会导致令人讨厌的问题。
【讨论】:
@Jason Baker,这应该是一条评论以上是关于无法访问 http://localhost:3000的主要内容,如果未能解决你的问题,请参考以下文章