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