GIẢI QUYẾT
Địa chỉ đã được sử dụng - lỗi bind (2) ”500 trong Ruby on Rails
Gần đây, tôi đã thử chạy ứng dụng Rails trên máy chủ sản xuất. Nó không những không hoạt động mà còn làm hỏng máy chủ phát triển localhost: 3000 của tôi. Localhost sẽ chỉ tải một trang trắng trống hoặc lỗi 500.
Để giải quyết vấn đề này, tôi đã sử dụng hai lệnh nhanh. Nếu những điều này không trả lại kết quả, bạn có thể cần phải tìm kiếm giải pháp khác, nhưng đây là một cách khắc phục nhanh tốt.
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 (NGHE)
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 (NGHE)
Lệnh này hiển thị tất cả các quy trình hiện đang chạy của tôi và PID (ID quy trình) của chúng trên cổng 3000. Bởi vì có các quy trình đang chạy không đóng đúng cách, máy chủ mới: 3000 của tôi không thể khởi động, do đó lỗi 500.
giết 52179
giết 52180
đường ray s
Tôi đã sử dụng lệnh kill Linux để dừng các quy trình vi phạm theo cách thủ công. Nếu bạn có nhiều hơn 4, chỉ cần sử dụng kill trên bất kỳ PID nào cho đến khi lệnh đầu tiên trở lại trống. Sau đó, hãy thử khởi động lại máy chủ localhost: 3000 của bạn một lần nữa. Điều này sẽ không làm hỏng máy tính của bạn! Nó chỉ đơn giản là giết các quy trình ruby hiện có trên cổng localhost của bạn. Một máy chủ mới sẽ bắt đầu lại tất cả các quá trình này. Chúc may mắn!