Недавно я попытался запустить приложение Rails на производственном сервере. Это не только не сработало, но и сломало мой сервер разработки localhost: 3000. Localhost загрузит только пустую белую страницу или ошибку 500.
Чтобы решить эту проблему, я использовал две быстрые команды. Если они не дают результата, возможно, вам придется поискать решение в другом месте, но это хорошее быстрое решение.
lsof -wni tcp:3000 ruby 52179 rachelchervin 50u IPv6 0x...7aa3 0t0 TCP [::1]:hbci (LISTEN) ruby 52179 rachelchervin 51u IPv4 0x...c7bb 0t0 TCP 127.0.0.1:hbci (LISTEN) ruby 52180 rachelchervin 50u IPv6 0x...7aa3 0t0 TCP [::1]:hbci (LISTEN) ruby 52180 rachelchervin 51u IPv4 0x...c7bb 0t0 TCP 127.0.0.1:hbci (LISTEN)
Эта команда показывает все мои текущие запущенные процессы и их PID (идентификаторы процессов) на порту 3000. Поскольку есть существующие запущенные процессы, которые не закрылись правильно, мой новый сервер: 3000 не может запуститься, отсюда и ошибка 500.
kill 52179 kill 52180
Я использовал команду Linux kill
, чтобы вручную остановить вредоносные процессы. Если у вас их больше 4, просто используйте kill
для любых PID, пока первая команда не станет пустой. Затем попробуйте снова перезапустить сервер localhost: 3000.
Это не повредит вашему компьютеру! Он просто убивает существующие процессы ruby на вашем порту localhost. Новый сервер снова запустит эти процессы. Удачи!