无法连接Rails的Localhost:3000,但127.0.0.1:3000可用。

5

我正在通过railstutorial.org学习Ruby on Rails,遇到了一个奇怪的问题。

我运行了"rails server"命令,出现了以下信息:

=> Booting WEBrick
=> Rails 4.0.4 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-04-02 01:28:18] INFO  WEBrick 1.3.1
[2014-04-02 01:28:18] INFO  ruby 2.0.0 (2014-02-24) [x86_64-darwin12.5.0]
[2014-04-02 01:28:18] INFO  WEBrick::HTTPServer#start: pid=13004 port=3000

我尝试在不同的浏览器中连接到localhost:3000,但它们都无法与服务器建立连接。
我还尝试了rails server -p 3001并连接到localhost:3001,但也失败了。
然而,我尝试了0.0.0.0:3000和127.0.0.1:3000,它们都能正常工作并呈现出Rails的默认欢迎页面。
然后我尝试了localhost:80,它成功地告诉我"它已经可以工作了",我甚至可以使用PHP+Apache连接到我的另一个本地项目。
所以我真的很想知道为什么会发生这种情况,是否有人能够给我任何提示呢?
提前感谢您的帮助 :)

你能够通过telnet命令连接到该端口吗?请尝试输入以下命令:telnet localhost 3000 - Rajdeep Singh
如果您正在使用Linux系统,请检查hosts(cat /etc/hosts)文件,它应该包含以下行:127.0.0.1 localhost - Kalpesh Fulpagare
你会喜欢的东西是 http://lvh.me:3000 -> 这是一个指向本地主机的域名,因此您可以测试子域。 - Richard Peck
2个回答

6
请检查您的主机文件。我假设您正在使用Ubuntu,那么只需键入
sudo nano /etc/hosts

如果以下行存在,则正常,否则只需插入该行。
127.0.0.1       localhost

请使用localhost:3000而不是Localhost:3000。


0

localhost 只是 127.0.0.1 的别名

如果 localhost:3000 无法工作,但 127.0.0.1:3000 可以,那么很可能是您没有设置 localhost 别名(在您的 hosts 文件中),这就是 Sabyasachi Ghosh 建议的内容。

如果您告诉我们您的操作环境,我们将能够提供更具体的建议。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接