Rails4.2.5 服务器是 运行 但在浏览器和 curl 中没有响应,Ctrl+c 也不起作用

Rails4.2.5 server is running but no response in browser and curl, Ctrl+c also isn't working

我在 Mac OS X ElCapitan 中使用 bundle exec rails server -b 0.0.0.0 -p 3000 启动 rails 服务器。

它工作正常并向我展示:

=> Booting Thin
=> Rails 4.2.5 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Thin web server (v1.7.0 codename Dunder Mifflin)
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop

然后,我尝试在blowser(Google Chrome、Firefox和Safari)中访问http://0.0.0.0:3000,但是rails服务器没有响应我。 当然rails不输出日志

类似 curl http://0.0.0.0:3000 的 curl 命令也不显示响应。

screenshot my trying access to http://0.0.0.0:3000

而且,我无法使用 Ctrl cCtrl \kill ${process_id} 终止进程。所以,我必须用 -9 选项杀死 kill -9 ${process_id}.

以前这个问题没有发生。

↓ 我的环境信息

% bundle exec rails -v
Rails 4.2.5

% ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]

% bundle exec redis-server -v
Redis server v=3.0.7 sha=00000000:0 malloc=libc bits=64 build=aa27a151289c9b98

我也试过:

  1. 运行 它与 bundle exec rails server -b 0.0.0.0 -p 3001 在不同的端口上。仍然没有回应。
  2. 创建新的 rails 应用程序并 运行 它们。他们很好(我可以使用浏览器访问 http://0.0.0.0:3000)。
  3. 将此应用程序从 git 存储库克隆到其他目录并尝试相同的操作。仍然没有回应。

请你帮忙!

我已经无计可施了... 请告诉我任何提示!

谢谢。

参考资料

已解决!!

我解决了这个问题。 此问题由初始化独立 websocket-rails.

引起

这是我的旧代码。

WebsocketRails.setup do |config|
  config.standalone = true
  config.synchronize = true
  config.redis_options = {:host => 'localhost', :port => '6379', driver: :ruby}
end

并且,我删除了 driver: :ruby,问题已解决。

WebsocketRails.setup do |config|
  config.standalone = true
  config.synchronize = true
  config.redis_options = {:host => 'localhost', :port => '6379'}
end

但是现在,我不确定原因。 我会尝试研究。

参考文献