启动rails服务器时“未捕获的异常:没有接受者(端口正在使用或需要root权限)”

时间:2015-12-03 14:27:03

标签: ruby-on-rails

我更新了输出以使其更具可读性。仍然得到这个错误。

Noob问题。有没有其他人看到这个错误?这个错误似乎正在蔓延。它现在发生在端口3000和3001.如果我将代码和调试设置更改为3002,那么我可以继续调试。

----------------------------------------------- ---------------

----------------------------------------------- --------------

$: rails s -p 3000
=> Booting Thin
=> Rails 3.2.11 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop
Exiting
/home/xxx/.rvm/gems/ruby-1.9.3-p551@ats/gems/eventmachine-1.0.8/lib/eventmachine.rb:534:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)

2 个答案:

答案 0 :(得分:2)

运行

ps ax | grep rails

这将返回当前运行的rails服务器的进程号

那么你可以做到 kill -9 *process_numer*

这个答案假设你不小心退出了rails服务器,按Ctrl + Z而不是Ctrl + C,它没有正确处理进程,现在正在占用端口。

答案 1 :(得分:1)

当某个进程已在使用该端口时,会发生此错误。

通常这种情况发生在rails服务器已经启动时(例如 - 对于其他项目,你忘了阻止它)

使用ps ax | grep rails | grep -v greplsof -n -i4TCP:3000 | grep LISTEN使用端口3000

查找rails服务器和进程