Rails本地主机无法运行。

3
当我运行"rails server"并尝试打开任何项目时,当我尝试打开localhost:3000时,我会得到这个错误:Error 但是这是我的终端说的:
问题在于我以为是因为我将其推送到git heroku导致它失败,所以另一个表单说要卸载heroku,但是那也没有起作用,我仍然会得到这个错误。
$ rails s

=> Booting Puma
=> Rails 5.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
/Users/User/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/core_ext/numeric/conversions.rb:138: warning: constant    ::Fixnum is deprecated
[27508] Puma starting in cluster mode...
[27508] * Version 3.7.0 (ruby 2.4.0-p0), codename: Snowy Sagebrush
[27508] * Min threads: 5, max threads: 5
[27508] * Environment: development
[27508] * Process workers: 2
[27508] * Preloading application
[27508] * Listening on tcp://0.0.0.0:3000
[27508] Use Ctrl-C to stop
[27508] - Worker 1 (pid: 27544) booted, phase: 0
[27508] - Worker 0 (pid: 27543) booted, phase: 0

以前,rails服务器只会停留在“使用Ctrl-C停止”,但现在它有了这些工作人员ID和其他内容。它们可能是在我安装heroku并尝试使用git heroku推送我的项目时发生的。未来参考中这些工作者意味着什么,如何再次连接到本地主机?
根据其他stackexchange建议,我已经尝试过以下方法:
  1. 卸载heroku
  2. 删除heroku应用程序(由于它们说找不到任何应用程序,即使使用整个名称也会失败)
  3. 在app/config/environments/production.rb内注释掉“config.force_ssl = true”行
  4. 删除Procfile
注意:我一直在遵循Michael Hartl的教程,特别是第7章https://www.railstutorial.org/book/sign_up,并尝试执行SSL部分时遇到错误。

你能在另一个端口上吗?rails s -p 5433 - KcUS_unico
当你说“Before”时,你是指什么?Puma是Rails 5中默认使用的Web服务器,这些工作进程处理对应用程序的请求。 - ellitt
当您尝试连接时,您的开发日志中是否有任何记录?500错误通常意味着引发了异常或类似明显的问题。此外,请不要在可以在问题中包含文本的情况下链接到图像。 - Jim Stewart
“Before” 指的是在我尝试将我的 Rails 程序与 Heroku 同步以进行 SSL 之前。那些工作进程在 Ctrl-C 行之后从未出现过。当我运行 rails s -p 5433 时,我会收到这个错误:“gems/puma-3.7.0/lib/puma/binder.rb:269:in `initialize': Address already in use - bind(2) for "0.0.0.0" port 3000 (Errno::EADDRINUSE)”。实际上,现在当我尝试运行 rails s 时,它会给我这个错误。 - joe b.
1个回答

2

好的,经过在其他堆栈溢出上的大量搜索,如何解决,请查看此处:

Address already in use - bind(2) (Errno::EADDRINUSE)

问题是,在执行了这四个修复操作之后,我似乎已经停用了项目的SSL部分,但是仍然存在冲突端口或类似的问题,因此在我的评论中描述了冲突。所以我只需要杀掉所有进程即可。

$ kill -9 <pid>

在进行操作之前,对于未来遇到此问题的任何人,请运行以下命令:
$ lsof -wni tcp:3000

查看哪些pid尝试运行端口3000,并使用kill -9杀死它们。 然后再次执行rails db:migrate即可让其正常工作。

希望这能帮到您。感谢在评论中帮助我的每个人!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接