ROZWIĄZYWANIE
Adres już używany - bind (2) ”błąd 500 w Ruby on Rails
Ostatnio próbowałem uruchomić aplikację Rails na serwerze produkcyjnym. Nie tylko to nie zadziałało, ale także zepsuło mój serwer programistyczny localhost: 3000. Lokalny host załadowałby tylko pustą białą stronę lub błąd 500.
Aby rozwiązać ten problem, użyłem dwóch szybkich poleceń. Jeśli nie zwracają one wyniku, być może trzeba będzie poszukać rozwiązania w innym miejscu, ale jest to dobra i szybka naprawa.
lsof -wni tcp: 3000
ruby 52179 rachelchervin 50u IPv6 0x ... 7aa3 0t0 TCP [:: 1]: hbci (SŁUCHAJ)
ruby 52179 rachelchervin 51u IPv4 0x ... c7bb 0t0 TCP 127.0.0.1:hbci (SŁUCHAJ)
ruby 52180 rachelchervin 50u IPv6 0x ... 7aa3 0t0 TCP [:: 1]: hbci (SŁUCHAJ)
ruby 52180 rachelchervin 51u IPv4 0x ... c7bb 0t0 TCP 127.0.0.1:hbci (SŁUCHAJ)
To polecenie pokazuje wszystkie moje aktualnie uruchomione procesy i ich PID (identyfikatory procesów) na porcie 3000. Ponieważ istnieją uruchomione procesy, które nie zamknęły się poprawnie, mój nowy serwer: 3000 nie może się uruchomić, stąd błąd 500.
zabij 52179
zabij 52180
szyny s
Użyłem polecenia kill Linux, aby ręcznie zatrzymać szkodliwe procesy. Jeśli masz więcej niż 4, po prostu użyj kill na dowolnym identyfikatorze PID, aż pierwsze polecenie stanie się puste. Następnie spróbuj ponownie uruchomić serwer localhost: 3000. To nie uszkodzi twojego komputera! Po prostu zabija istniejące procesy ruby na porcie hosta lokalnego. Nowy serwer rozpocznie te procesy od nowa. Powodzenia!