【问题标题】:Unable to start the Rails Server using thin无法使用瘦启动 Rails 服务器
【发布时间】:2015-03-19 13:14:27
【问题描述】:

我在使用命令 rails s 启动我的 Rails 服务器时遇到问题。我使用 Thin 作为我的网络服务器。每当我尝试启动 rails 服务器时,thin 都会开始监听端口 3000,然后它会调用 eventmachine gem 通过调用 start_tcp_server 来启动服务器,这给了我一个错误,即端口 3000 上已经运行了一些东西,也就是说,当然是瘦服务器。我在互联网上尝试了很多解决方案,但似乎没有什么对我有用。 Stackoverflow 上有很多与此问题相关的问题,但没有解决我的问题。请看一下这个贴:http://chopapp.com/#mtvadchu

更新:

我的/etc/hosts 文件有问题。我的文件中有一些无效字符,即

ahi 127.0.0.1    localhost

所以ahi 部分无效。我刚刚删除了这些字符,一切都很好。因此,如果其他人遇到此问题,请确保您的 /etc/hosts 文件有效。

【问题讨论】:

  • 如果您调用rails s -p 4000 会告诉thin 在端口4000 上运行会发生什么?
  • 无论我使用哪个端口,我都会遇到同样的错误。因为 Thin 正在向 eventmachine 发送相同的端口。
  • 你试过这个SO Answer?并检查tmp/pids/server.pid 不存在?请展示您尝试过的内容,以便我们解决这些问题。
  • 是的,tmp/pids 文件夹中没有文件。需要明确的是,我正在使用 RVM,并且我还有另一个用于 ruby​​ 2.0.0 和 rails 4.0 的 gemset,它工作正常。我只是将存储库克隆到另一个文件夹,并将 ruby​​ 和 rails 版本分别升级到 2.2.0 和 4.2。现在我无法在这个新环境中启动服务器。 P.S:我已经尝试了提供的问题链接中的所有解决方案。
  • 哦,我只是错过了该问题的一个解决方案,而该解决方案对我有用。对此很抱歉,但我的问题的解决方案是 stackoverflow.com/a/20330258/1765499 我不知道为什么会这样但它是......

标签: ruby thin eventmachine ruby-on-rails-4.2


【解决方案1】:

@KULKING,做一件事检查你的端口 3000 是否正在运行 ->

$ lsof -i tcp:3000

****或****

$ lsof -i tcp

如果您认为 ruby​​ 之前在 3000 端口上运行,请通过 -> 终止该进程

$ kill -9 "pid"

还检查了 tmp/pids/server.pid 不存在? 如果是那么请删除server.pid

【讨论】:

  • 嗨,很抱歉我没有关闭这个问题,但我已经解决了。问题出在我的/etc/hosts 文件上。在本地主机映射之前有一些字符,即ahi 127.0.0.1 localhost,这是问题所在。我刚刚从文件中删除了ahi,它开始工作了:)
猜你喜欢
  • 2020-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-06
  • 2011-06-19
相关资源
最近更新 更多