【发布时间】:2020-07-27 12:00:01
【问题描述】:
我是 Heroku 的新手,尽管有所有文档,但我有点不确定配置文件的用途。我可以按如下方式设置端口和环境,但 Heroku 总是以生产模式启动(这很有意义),而不是使用指定的端口。
我猜是因为Heroku决定了端口不能设置?
Procfile 是否仅用于“heroku local”命令进行测试?
因为当我运行“heroku ps”时,我得到了有关 procfile 的信息,但 API 在生产模式下运行时没有 procfile 端口。
感谢您的解释!
过程文件:
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}
部署后heroku ps的输出:
=== web (Hobby): bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development} (1)
web.1: up 2020/07/27 13:50:23 +0200 (~ 1m ago)
同时输出heroku日志:
Version 3.12.6 (ruby 2.5.8-p224), codename: Llamas in Pajamas
2020-07-27T11:49:32.219309+00:00 app[web.1]: * Min threads: 5, max threads: 5
2020-07-27T11:49:32.219309+00:00 app[web.1]: * Environment: production
2020-07-27T11:49:33.740321+00:00 app[web.1]: * Listening on tcp://0.0.0.0:10269
【问题讨论】:
-
Procfile定义了您的流程。它肯定用于生产。是什么让你认为情况并非如此?您正在获取并且显然正在使用端口。您如何尝试将您的环境设置为开发环境? -
这是 RACK_ENV 和 RAILS_ENV 在这个用例中也需要设置为开发吗?
-
我不明白您评论中的问题。您是否将这些变量设置为 Heroku 配置变量?
标签: ruby-on-rails ruby heroku heroku-cli