【问题标题】:Heroku rails ProcfileHeroku rails Procfile
【发布时间】:2012-04-19 21:38:44
【问题描述】:

我对 Heroku 很陌生。

我将我的 Rails 应用程序上传到 Heroku,并希望使用 Thin 而不是 Webrick 来运行它。在Heroku’s guide 之后,我应该使用web: bundle exec rails server thin -p $PORT -e $RACK_ENV 创建procfile。但是我总是得到回复web:: command not found

我错过了什么?

【问题讨论】:

  • 您是否将薄宝石添加到您的 Gemfile 中?实际上我认为你甚至需要创建 Procfile,如果你只是为了在瘦服务器上运行它。要使用瘦运行,您只需要将它放在 gemfile 上。如果您的应用程序有更多进程,您真的需要一个配置文件
  • 我有。虽然我不能使用上面的语法创建一个procfile,但它很奇怪。它一直说 web: command not found
  • 您是否尝试过在本地安装工头 (gem install foreman) 并尝试运行您的应用程序来模拟 Heroku 上发生的情况?

标签: ruby-on-rails heroku


【解决方案1】:

您不应该将web: bundle exec rails server thin -p $PORT -e $RACK_ENV 作为命令运行,而是创建一个名为Procfile 的新文件,并将其作为其内容。

要么创建文件并使用编辑器将其粘贴,要么直接执行:

echo "web: bundle exec rails server thin -p \$PORT -e \$RACK_ENV" > Procfile

【讨论】:

  • 你先生值得鼓掌。没有地方声明您不应该将“web: bundle exec rails server thin -p $PORT -e $RACK_ENV”作为命令运行。谢谢
  • @RedRory 可能是这样...但在该指南中,“Procfile”一词与此 page 相关联,它显示了如何为 heroku 设置适当的 Procfile。
  • 从文档中您应该在哪里创建 Procfile 仍然很不清楚。在根目录?从文档中并不清楚。我猜它被埋在那里的某个地方,但为什么不通过说“在你的 shell 中运行以下命令:......”来让它更明显一点。
  • 感谢对这篇文章发表评论的人。我已经说得更清楚了,强调“Procfile 是一个名为 Procfile 的文本文件,位于应用程序的根目录中,它列出了应用程序中的进程类型。”在文章的上方。
  • @Glide Procfile 位于项目的顶层——而不是在app 目录中,在它旁边,在GemfileRakefile 等旁边。
【解决方案2】:

您是否已将 Thin 捆绑到您的应用程序中?

gem 'thin'

如果不是,您正在查看 Rails 尝试使用默认服务器。就个人而言,我会考虑在 Heroku 上使用 Unicorn,但要小心你可能需要多少工人。

http://neilmiddleton.com/the-procfile-is-your-friend。缓存版本:https://web.archive.org/web/20130926005616/http://www.neilmiddleton.com/the-procfile-is-your-friend

http://neilmiddleton.com/getting-more-from-your-heroku-dynos

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-15
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 2016-01-14
    相关资源
    最近更新 更多