Сервер Rails не работает? - PullRequest
       9

Сервер Rails не работает?

8 голосов
/ 03 декабря 2011

Я следую за первым учебным пособием по Ruby on Rails 3 из 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, он также говорит:

Веб-страница http://0.0.0.0:3000/ может быть временно недоступна иливозможно, он переместился навсегда на новый веб-адрес.

Итак, мне было интересно, как это исправить?

Ответы [ 2 ]

13 голосов
/ 03 декабря 2011

0.0.0.0 - это IP-адрес, к которому привязан Вебрик.Это означает «слушать на всех интерфейсах».Другими словами, вы можете подключиться к этому приложению с внутреннего адреса (localhost или 127.0.0.1), а также с внешнего адреса в сети (192.168.1.x или 10.0.10.x или доменного имени, которое разрешается вадрес этой машины есть в сети).Серверу все равно, откуда поступил запрос.

Если, однако, вы запустили сервер rails с опцией '-b' или '--binding' и сказали серверу привязаться к 127.0.0.1,сервер не будет отвечать на запросы к внешнему интерфейсу.Вы все еще можете использовать 127.0.0.1 или localhost, но не можете подключиться к этому серверу, используя его внешний IP-адрес локально или с другого компьютера.

Переход на http: // 0.0.0.0:3000 работает в моей системе Linuxи, скорее всего, вы смотрели скринкаст, в котором использовался макинтош, который тоже работал.Я предполагаю, что 0.0.0.0 не поддерживается в Windows.

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

3 голосов
/ 03 декабря 2011

Вы можете запустить сервер с помощью этой команды:

rails server -b localhost

Но, как ленивая машинистка, в моем .bash_aliases у меня есть этот псевдоним

alias rs='r s -b localhost'

С псевдонимом,Я могу запустить сервер только с:

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