Подтвердить что ты не робот

Сервер Rails запущен, но не может подключиться к localhost: 3000

Я изучаю Ruby on Rails с railstutorial.org Я установил все и отлично работаю из главы 1. Однако неожиданно у моего следующего приложения возникла проблема.

Я запускаю сервер "rails"

=> Booting WEBrick
=> Rails 3.2.9 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-11-15 00:45:08] INFO  WEBrick 1.3.1
[2012-11-15 00:45:08] INFO  ruby 1.9.3 (2012-11-10) [x86_64-linux]
[2012-11-15 00:45:08] INFO  WEBrick::HTTPServer#start: pid=2752 port=3000

Кажется, он работает нормально, как и в предыдущем приложении.

Тем не менее, я пытаюсь подключиться к localhost: 3000, 0.0.0.0:3000, 127.0.0.1:3000 в разных браузерах, и все они не могут установить соединение с сервером.

Некоторые примечания:

-Я смог подключиться к localhost всего лишь некоторое время назад - кажется, что он внезапно прекратил работу из-за синего.

-Мое первое приложение работало отлично, но теперь оно не работает и для моего первого приложения.

- У меня нет брандмауэров, блокирующих порт, и мой файл hosts не является проблемой.

-Я на Ubuntu 12.10

Я почти всегда нахожу решения через поиск, но не в этот раз. Поэтому мне нужна помощь. Это очень неприятно, так как я чувствую, что это простая проблема, что я слишком долго задерживался.

Спасибо.

4b9b3361

Ответ 1

с рельсами 4.2.0, сервер привязывается к localhost по умолчанию, а не к 0.0.0.0. При работе с рельсами в виртуальном ящике, обращаясь к серверу с главного компьютера, адрес привязки должен быть 0.0.0.0

Запустить сервер рельсов с помощью -b0.0.0.0, чтобы сделать сервер рельсов доступным с хост-компьютера/браузера.

http://guides.rubyonrails.org/4_2_release_notes.html#default-host-for-rails-server https://github.com/samuelkadolph/unicorn-rails/issues/12#issuecomment-60875268

Ответ 2

Попробуйте запустить его в другом порту, например, 3001:
сервер rails -p 3001
Если он работает, чем попытаться снова на 3000 в качестве команды выше.
Я думаю, что какое-то другое программное обеспечение использует ваш порт 3000, поэтому он не отвечает.
Или для некоторых продвинутых вещей см. здесь

Ответ 3

Перед запуском рельсов убедитесь, что вы запустили rake db:create.

Ответ 4

Я использую rails 5.0.0.beta3 и сталкивался с этой проблемой. Ответ @andrewleung мне очень помог.

Похоже, что адрес привязки по умолчанию Rails запутан на моем компьютере (Mac OS 10.11.6); на некоторых других он работает отлично.

Простое решение - просто использовать rails server -b127.0.0.1. Затем вы можете получить доступ к своему localhost:3000.

Мое предположение здесь (намечено с https://serverfault.com/a/544188), что привязка локального хоста перепутана на моем компьютере, тогда как 127.0.0.1 более конкретна.

Ответ 5

Проблема, с которой я столкнулась, заключалась в том, что у моей виртуальной машины закончилось место на жестком диске, и для создания файла server.pid оставалось еще недостаточно. По какой-то причине, однако, это не вызывало ошибки для этого, поскольку файл создавался, но оставался пустым.

Ответ 6

Я столкнулся с той же проблемой. Оказалось, что браузер-синхронизация также работает на localhost: 3000.

В связи с тем, что разработчик Rails использовал браузер-синхронизацию, чтобы быстро протестировать скрипты переднего плана, я думаю, что это может быть популярной причиной использования порта 3000.

Ответ 7

проверьте ваш файл /etc/hosts.. ip 0.0.0.0 или localhost, указывающий на какой-то другой адрес.