Я изучаю Ruby on Rails с помощью railstutorial.org и столкнулся с этой странной проблемой.

Я запустил "rails server" и показал следующую информацию:

=> Booting WEBrick
=> Rails 4.0.4 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2014-04-02 01:28:18] INFO  WEBrick 1.3.1
[2014-04-02 01:28:18] INFO  ruby 2.0.0 (2014-02-24) [x86_64-darwin12.5.0]
[2014-04-02 01:28:18] INFO  WEBrick::HTTPServer#start: pid=13004 port=3000

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

Я также попробовал rails server -p 3001 и подключился к localhost: 3001, что тоже не удалось.

Однако я попробовал 0.0.0.0:3000, 127.0.0.1:3000, оба они работали и отображали приветствие по умолчанию для рельсов.

Затем я попробовал localhost: 80, который успешно сказал мне: «Он работает», и я могу подключиться к другому локальному проекту с помощью PHP + Apache.

Так что мне действительно интересно, почему это происходит, и может ли кто-нибудь дать мне хоть какой-нибудь намек на это.

Заранее спасибо:)

5
yeelan 2 Апр 2014 в 10:00
Вы можете подключиться к порту по телнету, попробуйте эту команду telnet localhost 3000
 – 
Rajdeep Singh
2 Апр 2014 в 10:03
Если вы находитесь в файле linux check hosts(cat /etc/hosts), он должен содержать эту строку 127.0.0.1 localhost
 – 
Kalpesh Fulpagare
2 Апр 2014 в 10:05
Что-то, что вам понравится, это http://lvh.me:3000 -> это домен, который указывает на ваш локальный хост, поэтому вы можете тестировать поддомены.
 – 
Richard Peck
2 Апр 2014 в 13:58

2 ответа

Лучший ответ

Пожалуйста, проверьте ваш хост-файл. Я предполагаю, что вы используете ubuntu, тогда просто введите

sudo nano /etc/hosts

Если строка ниже существует, тогда хорошо, иначе просто вставьте строку.

127.0.0.1       localhost

И используйте localhost: 3000, а не Localhost: 3000

6
Sabyasachi Ghosh 2 Апр 2014 в 10:05

localhost это просто псевдоним для 127.0.0.1

Если localhost:3000 не работает, но 127.0.0.1:3000 работает, скорее всего, у вас не настроен псевдоним localhost (в вашем файле hosts), а именно {{X2} } рекомендуемые

Если вы сообщите нам свою операционную среду, мы сможем дать более конкретный совет.

0
Richard Peck 2 Апр 2014 в 14:02