Не могу открыть сервер рельсов

Я не знаю, что я сделал. Я думаю, что я обновил свой 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 server, и он работал бы нормально в течение пары минут, но затем он перестал бы отвечать, и если я перезапущу rails server, он снова выдаст мне эту ошибку. Я попытался запустить на другом порту (rails s -p 9191), и это дает мне ту же проблему.

Есть идеи, что я сделал не так? Спасибо ребята

3 ответа

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

rails s -p 3001

так что будет загружаться на localhost:3001

или убить все процессы ruby:

killall ruby

а потом беги rails s

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

ps aux | grep ruby

увидеть пид, а затем убить этот пид

kill -9 <pid>

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

rails s

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

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

lsof -wni tcp:3000

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

kill -9 PID

Или использовать

killall ruby
Другие вопросы по тегам