Сервер Rails отказывается подключаться в браузере - PullRequest
2 голосов
/ 07 июня 2019

Я просто пытаюсь запустить свой сервер локально. Я на Windows, и использование Ruby on Rails на Windows - это боль, поэтому я использую Vagrant. Я делаю все эти команды из моей оболочки Vagrant.

Я пробовал rails s и rails s -b 0.0.0.0. Оба дают мне ОК ответы в терминале:

=> 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

Действительно не знаю, что делать дальше. Прямо сейчас я устанавливаю ISO-файл Ubuntu (будет сделано за 5 часов, так что это довольно много времени), чтобы создать экземпляр VirtualBox в качестве резервной копии, если это не сработает. Надеюсь, я могу найти решение для этого.

Ответы [ 3 ]

1 голос
/ 12 июня 2019

Я хотел бы предложить вам докер. Docker не нов, он был выпущен в 2012 году и с тех пор стал одной из самых быстрорастущих технологий в веб-разработке и разработке.

Некоторые преимущества, которые вы получите, если начнете его использовать:

  • Воспроизводимость: Docker-контейнер гарантированно будет идентичен в любой системе, в которой можно запустить Docker, и имея простой файл, вы (и члены вашей команды) сможете действительно быстро запустить систему с такими же спецификациями в другой среде.
  • Изоляция: Зависимости или настройки внутри контейнера не влияют на какие-либо установки или конфигурации на вашем компьютере.
  • Концентратор: у вас есть тысячи хорошо поддерживаемых изображений, доступных , включая ruby ​​, и вы можете использовать их для более быстрого эксперимента и получения материала, который имеет значение.
  • Докер не бродит , намного более и гораздо более мощный.
  • Простое обновление изображений: поскольку изображения имеют версии, необходимо изменить один тег.

Удачи с китом!

1 голос
/ 07 июня 2019

Ключевым моментом здесь является "localhost" на вашем Vagrant box и "localhost" на вашем компьютере - это две разные вещи.Переадресация портов часто может исправить это, но если у вас есть две машины Vagrant, использующие один и тот же порт, вы можете отправлять трафик на неправильный.

Часто лучше получить IP-адрес машины Vagrant и подключиться к ней напрямую.Если этот IP-адрес продолжает меняться, вы можете заблокировать его:

config.vm.network "private_network", ip: "172.30.1.5"

Затем вы подключаетесь к http://172.130.1.5:3000/, как и ожидалось.

0 голосов
/ 10 июня 2019

Решено путем запуска Ruby on Rails на машине UBUNTU VirtualBox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...