Вопрос

Я следую Первый учебник 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/ может быть временно вниз, или это могло постоянно перемещаться на новый веб -адрес.

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

Это было полезно?

Решение

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

Однако, если вы запустили сервер Rails с опцией «-B» или «-связывающим» и сказали серверу привязать к 127.0.0.1, сервер не будет отвечать на запросы на внешний интерфейс. Вы все еще можете использовать 127.0.0.1 или Localhost, но вы не можете подключиться к этому серверу, используя его внешний IP -адрес локально или с другой машины.

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

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

Другие советы

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

rails server -b localhost

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

alias rs='r s -b localhost'

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

rs
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top