Недавно я попытался запустить приложение 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. Новый сервер снова запустит эти процессы. Удачи!