【问题标题】:Cannot connect to Localhost:3000 for Rails but 127.0.0.1:3000 worksRails 无法连接到 Localhost:3000 但 127.0.0.1:3000 有效
【发布时间】:2014-05-13 05:19:52
【问题描述】:

我正在通过 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
  • 如果你在 linux 检查 hosts(cat /etc/hosts) 文件,它应该包含这一行 127.0.0.1 localhost
  • 你会喜欢http://lvh.me:3000 -> 这是一个指向你的本地主机的域,所以你可以测试子域

标签: ruby-on-rails localhost port


【解决方案1】:

请检查您的主机文件。我假设您使用的是 ubuntu,然后输入

sudo nano /etc/hosts

如果下面的行存在,那么可以,否则只需插入该行。

127.0.0.1       localhost

并使用 localhost:3000 而不是 localhost:3000

【讨论】:

    【解决方案2】:

    localhost is just an alias for 127.0.0.1

    如果localhost:3000 不起作用,但127.0.0.1:3000 起作用,则可能是您没有设置本地主机别名(在您的主机文件中),这是Sabyasachi Ghosh 推荐的

    如果您让我们知道您的操作环境,我们将能够提供更具体的建议

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-22
      • 2012-11-03
      • 2015-04-17
      • 1970-01-01
      • 1970-01-01
      • 2023-02-05
      • 2016-10-28
      • 1970-01-01
      相关资源
      最近更新 更多