ruby-on-rails - Rails 服务器不工作?

标签 ruby-on-rails ruby railsinstaller-windows

我正在关注 first Ruby on Rails 3 tutorial来自 PeepCode在大约 27-29 分钟后,他们让我们启动 Rails 服务器。据我所知,我已成功安装 Rails(和 Ruby)。

当我运行命令 rails server(根据视频的说明从 Windows 7 命令提示符),我收到消息:

=> Booting WEBrick
=> Rails 3.1.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-12-02 18:37:57] INFO WEBrick 1.3.1
[2011-12-02 18:37:57] INFO ruby 1.9.3 (2011-10-30) [i386-mingw32]
[2011-12-02 18:37:57] INFO WEBrick::HTTPServer#start: pid=5584 port=3000

而且没有返回提示符,说明正在运行。此外,对我来说(与视频相比),这看起来像是一个成功的消息。

但是,当我按照视频的指示浏览到 URL http://0.0.0.0:3000 时,出现错误(视频打开到默认索引页 ruby )。我得到的错误是:

Error 108 (net::ERR_ADDRESS_INVALID): Unknown error.

由于我使用的是 Google Chrome,它还显示:

The webpage at http://0.0.0.0:3000/ might be temporarily down or it may have moved permanently to a new web address.

所以,我想知道如何解决这个问题?

最佳答案

0.0.0.0 是 Webrick 绑定(bind)的 IP 地址。它的意思是“监听所有接口(interface)”。换句话说,您可以从内部地址(localhost 或 127.0.0.1)以及网络上的外部地址(192.168.1.x 或 10.0.10.x 或解析为地址这台机器在网络上)。服务器不关心请求来自哪里。

但是,如果您使用“-b”或“--binding”选项启动 rails 服务器并告诉服务器绑定(bind)到 127.0.0.1,服务器将不会响应对外部接口(interface)的请求。您仍然可以使用 127.0.0.1 或 localhost,但您无法在本地或从另一台机器使用它的外部 IP 地址连接到此服务器。

转到 http://0.0.0.0:3000 可以在我的 Linux 系统上运行,很可能您正在观看的截屏视频使用的是 mac,它也可以运行。我的猜测是 Windows 不支持 0.0.0.0。

如果您在盒子上,只需使用本地主机;如果您从另一台机器访问它,则使用盒子的 IP 地址。这就是我所做的,即使我正在运行一台理解 0.0.0.0 的机器。

关于ruby-on-rails - Rails 服务器不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8365097/

相关文章:

ruby-on-rails - `rails s` 表示 "` 在 Windows RailsInstaller 中需要 ': cannot load such file -- pty (LoadError)"

ruby-on-rails - Rails Image Helper 的可选参数

ruby-on-rails - 如何让我的导航栏出现在我的 Rails 应用程序的每个页面上?

ruby-on-rails - 如何在 Rails 中将数据从 View 传递到 Controller

ruby-on-rails - ruby - 在 case 语句中使用 include 方法

mysql - 如何在 Mutex.synchronize 中获取局部变量值?

ruby - 无法使 Travis-CI 工作

ruby-on-rails - 在公寓 gem 中复制租户