当前位置: 首页 > 知识库问答 >
问题:

铁路localhostheroku美洲狮配置

花阳辉
2023-03-14

我在heroku上部署了一个带有puma的rails应用程序。一切似乎都很好,除非我在dev env中启动我的应用程序,端口是5000而不是3000。

为什么会发生这种情况?根据我的配置文件,它应该回落到3000,就像线程和并发数一样(这些工作正常)。

Procfile.dev

web: bundle exec puma -C config/puma.rb

配置/puma.rb

workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['MAX_THREADS'] || 5)
threads threads_count, threads_count

preload_app!

rackup      DefaultRackup
port        ENV['PORT']     || 3000
environment ENV['RACK_ENV'] || 'development'

on_worker_boot do
  ActiveRecord::Base.establish_connection
end

使用foreman start-f Procfile.dev启动服务器后

12:36:51 web.1     | [12816] Puma starting in cluster mode...
12:36:51 web.1     | [12816] * Version 2.13.4 (ruby 2.2.3-p173), codename: A Midsummer Code's Dream
12:36:51 web.1     | [12816] * Min threads: 5, max threads: 5
12:36:51 web.1     | [12816] * Environment: development
12:36:51 web.1     | [12816] * Process workers: 2
12:36:51 web.1     | [12816] * Preloading application
12:37:08 web.1     | [12816] * Listening on tcp://0.0.0.0:5000
12:37:08 web.1     | [12816] ! WARNING: Detected 1 Thread(s) started in app boot:
12:37:08 web.1     | [12816] ! #<Rack::MiniProfiler::FileStore::CacheCleanupThread:0x007f860f8fa628@/Users/Silo/.rvm/gems/ruby-2.2.3/gems/rack-mini-profiler-0.9.8/lib/mini_profiler/storage/file_store.rb:53 sleep> - /Users/Silo/.rvm/gems/ruby-2.2.3/gems/rack-mini-profiler-0.9.8/lib/mini_profiler/storage/file_store.rb:71:in `sleep'
12:37:08 web.1     | [12816] Use Ctrl-C to stop
12:37:08 web.1     | [12816] - Worker 0 (pid: 12822) booted, phase: 0
12:37:08 web.1     | [12816] - Worker 1 (pid: 12823) booted, phase: 0

共有1个答案

巫马越彬
2023-03-14

至于为什么,foreman将$PORT传递给您的流程,默认情况下,该值设置为5000。因此,在config/puma.rb中忽略端口3000。请参阅此线程的末尾https://github.com/ddollar/foreman/issues/381

现在,有几种方法可以解决这个问题。例如,您可以按如下方式启动foreman:foreman s-p 3000。这是我的首选解决方案,因为它不涉及为开发创建特定的procfile,也不涉及添加到.env文件(PORT=3000),也不涉及创建.foreman文件(PORT:3000)。

如果您确实想使用您的开发过程文件,请按如下方式更改它:web:PORT=3000 bundle exec puma-C config/puma.rb

 类似资料:
  • 我正试着在美洲狮上设置慢跑。我想在没有Eclipse之类IDE的情况下使用它。但我就是不能让它工作。 null

  • 为了创建一个联系人表单,然后创建一个发送给站点管理员的邮件程序,我一直在遵循一个相当古老的教程。我遇到了一些问题,我想,因为我在Rails4.1上。1而且教程太旧了!我想知道是否有人能给我一些指导——我正在学习rails。我当前收到的错误是MessagesController为主题消息创建未定义的方法“subject”中的NoMethodError。主题 这是我的密码 消息控制器: 终止 #PAT

  • 跟随Redis酒吧/酒吧 这很好用,我可以使用 使用redis cli 当我在另一个类(listener类)中将订户块添加到该通道时,问题就开始了,如下所示 在<代码>redis-cli中 问题是,当我将subscriber listener类添加到同一个rails应用程序时。。。它停止工作,因为侦听redis服务器并停止执行任何其他代码。。。它只是坐在那里听着。 那么,有没有办法在同一个rail

  • 我的windows 8笔记本电脑上的railsinstaller一直存在问题,原因是无法使用命令在(项目)目录中运行服务器。然而,与许多教程相反,我每次都会收到这个问题。 然后,当我尝试运行bundle安装时,它返回此错误。 但我试图解决“FetchError”的一切都是徒劳的。 有人能帮我解决这个错误吗?

  • 面试有五六个面试官。 首先是 开合跳、色盲测试、展示手心手背; 一分钟自我介绍; 接下来 问你走开发和运维哪个方向,问编程语言 开始问专业问题 一个短问题 关系型数据库存储的优点 一个算法题 说思路 最短路径的迪杰斯特拉算法 最后问 为什么要去铁路 要简短回答 结束面试。 感觉像是走流程,没有问一些个人问题。

  • 这个问题的答案可能会帮助我解决我之前问过的一个仍然悬而未决的问题:Meteor+React如何设置大量输入元素的值并在之后修改它们