首页 > 解决方案 > Rails 服务器拒绝在浏览器中连接

问题描述

我只是想在本地运行我的服务器。我在 Windows 上,在 Windows 上使用 Ruby on Rails 很痛苦,所以我正在使用 Vagrant。我正在从我的 Vagrant shell 执行所有这些命令。

我试过rails srails s -b 0.0.0.0。两者都在终端中给我 OK 响应:

=> Rails 5.2.3 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.12.1 (ruby 2.6.1-p33), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development

但是,当我进入localhost:3000浏览器时,它给了我:

This site can't be reached.
localhost refused to connect.

当我试图curl http://localhost:3000得到:

curl: (7) Failed to connect to localhost port 3000: Connection refused

我的 Vagrantfile 中还有以下代码行:

config.vm.network "forwarded_port", guest: 3000, host: 3000

真的不知道接下来该怎么办。现在,我正在安装 Ubuntu ISO 文件(将在 5 小时内完成,所以这是相当长的时间)以创建一个 VirtualBox 实例作为备份,如果这不起作用。希望我能找到解决此问题的方法。

标签: ruby-on-railsruby

解决方案


我想建议你码头工人。Docker 并不新鲜,它于 2012 年发布,从那时起已成为 Web 开发和 devops 中增长最快的技术之一。

如果您开始使用它,您将拥有的一些优势:

  • 可重复性:保证 docker 容器在任何可以运行 docker 的系统上都是相同的,并且拥有一个简单的文件,您(和您的团队成员)可以在另一个环境中快速运行具有相同规格的系统。
  • 隔离:容器中的依赖项或设置不会影响您计算机上的任何安装或配置。
  • Hub:您有数千个维护良好的可用图像,包括 ruby ​​,您可以使用它们进行更快的实验并获得重要的东西。
  • Docker 不是 vagrant,而是越来越强大。
  • 轻松的图像升级:由于图像是版本化的,因此只需更改单个标签。

与鲸鱼愉快的编码!


推荐阅读