Не удается открыть сервер rails

Я не знаю, что я сделал. Думаю, я обновил свой Ruby on Rails. После его обновления я всегда получаю ошибку при запуске сервера $rails.

вывод

ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/utils.rb:73:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)

Я бы перезапустил консоль и запустил сервер rails, и он будет работать нормально в течение нескольких минут, но тогда он перестанет отвечать на запросы, и если я перезапущу сервер rails, он снова даст мне эту ошибку. Я попытался работать на другом порту (рельсы s -p 9191), и это дает мне ту же проблему.

Любые идеи, что я сделал неправильно? Ребята из Thnx

Ответы

Ответ 1

запустите его на другом порту:

rails s -p 3001

поэтому он будет загружаться на localhost:3001

или уничтожить все рубиновые процессы:

killall ruby

а затем запустите rails s

Ответ 2

Я думаю, как-то ваш сервер rails будет работать после того, как вы его закроете. Вы можете попробовать как

ps aux | grep ruby

см. pid и затем убить, что pid

kill -9 <pid>

Теперь вы можете перезагрузить сервер, используя

rails s

Примечание.. В следующий раз попробуйте использовать Ctrl D для завершения работы сервера rails. Это может помочь

Ответ 3

Я тоже столкнулся с проблемой, потому что экземпляры ruby ​​не были правильно завершены. Мы можем завершить процессы, выполняемые в фоновом режиме с помощью pids.

lsof -wni tcp:3000

Он отображает все текущие разряды ruby.and завершает это pids.

kill -9 PID

Или используйте

killall ruby