首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >已经在使用的Rails 5地址. "127.0.0.1“端口3000的绑定(2)

已经在使用的Rails 5地址. "127.0.0.1“端口3000的绑定(2)
EN

Stack Overflow用户
提问于 2016-07-19 13:43:34
回答 3查看 8K关注 0票数 6

一些代码在运行rails s时得到了这个错误

代码语言:javascript
复制
Address already in use - bind(2) for "127.0.0.1" port 3000 (Errno::EADDRINUSE)

我的环境是:

代码语言:javascript
复制
$ rails -v       
Rails 5.0.0
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

我试过:

  1. 创建一个新项目--相同
  2. 检查Rails 4.2 -问题解决了
  3. 重新安装rails 5和ruby -同样的问题
  4. lsof -wni tcp:3000什么也不给我
  5. ps aux grep "rails“-什么都没有
  6. ps aux grep "puma“-什么都没有
  7. ps aux grep "ruby“-nothing
  8. 使用puma代替rails s - problem 解决了
  9. 对其他端口也使用rails s -p 3001 -同样的问题

已更新

  1. 使用RAILS_ENV=production bundle exec rails s -问题解决

有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-02 12:37:41

这个问题的出现是因为美洲豹的代码中有一个bug。降级到最古老的版本帮助了我。

臭虫票:https://github.com/puma/puma/issues/1022

票数 1
EN

Stack Overflow用户

发布于 2018-03-29 06:51:53

相同的进程正在某个地方运行。

要查看哪个进程使用了3000端口,并在命令下面获得进程pid类型

代码语言:javascript
复制
lsof -wni tcp:3000

这将给出使用此端口的过程。

样本结果

代码语言:javascript
复制
process1   12345   0.0  0.0  12343566  1972 s000  R+   11:17AM   0:00.00 grep puma

您可以通过在下面的命令中键入

12345这是进程ID

代码语言:javascript
复制
kill -9 12345

现在重新启动服务器

票数 14
EN

Stack Overflow用户

发布于 2016-07-19 14:25:49

您的错误是,已经有一些东西运行在3000端口上。如果不了解您的环境或安装了什么,就不可能知道要停止什么。

另一个rails服务器很可能已经在某个地方运行了。试着去本地:3000看看那里有什么。

有可能是由于某种未知的原因,另一个程序正在此端口上运行,如果是,而且您无法停止,请使用不同的端口

rails s -p 3001

或者你选择的任何其他端口

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38460373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档