有人可以解释“heroku ps:scale web = 1”

时间:2015-05-19 06:37:16

标签: heroku heroku-toolbelt

我正在寻找一个简单的解释,当我输入以下命令时会发生什么:

heroku ps:scale web=1 

Heroku在幕后部署应用程序是什么?我问,因为我刚刚使用Heroku进行部署,并希望更好地了解该过程。谢谢!

4 个答案:

答案 0 :(得分:18)

此命令不会部署应用程序。它在你部署后启动它。

部署应用程序时,heroku会创建一个“slug”。应用程序的可运行压缩版本,然后存储。 然后你可以启动“dynos”,它会把你当前的slug并在heroku的服务器上启动它。

运行heroku ps:scale web=1会将您的应用扩展为一个正在运行的dyno,这意味着您当前有一台服务器在运行您的应用。

如果您再次部署应用程序,将生成并存储一个新的slug,并且将销毁您当前运行的dynos,并使用新版本的代码替换为新的dynos。

答案 1 :(得分:1)

您将网络动态数量缩放为1 我想说有很多关于这个话题的文件。
https://devcenter.heroku.com/articles/scaling
https://devcenter.heroku.com/articles/dynos

答案 2 :(得分:1)

每当您在heroku中新部署应用时,它都会启动应用运行的 dyno 。只需将其视为服务器即可。此服务器无法同时处理大量请求。

因此,为了处理所有这些批量请求,您可能希望运行应用程序的多个实例,即使用heroku中可用的备用资源运行多个dyno,就像在tomcat中使用该命令在同一应用程序中运行多个实例一样(在课程范围内) ):

heroku ps:scale web=<number_dynos_u_want>

Heroku为您进行负载均衡。因此,您可以水平扩展您的应用程序以处理更多负载。希望这能清除这个概念!

答案 3 :(得分:1)

尽管其他答案是正确的,但我认为有些人可能会发现理解命令的实际故障很有用。

  • ps是一个命令,该命令为许多影响测功机(〜虚拟机实例)的命令添加了前缀;我假设它与linux ps命令有关,该命令代表“进程状态”。
  • ps:scale用于增加运行进程的dynos的数量。
  • ps:scale web=1指定在1个Web dyno上运行该过程。

Heroku CLI命令的索引可以在这里找到: https://devcenter.heroku.com/articles/heroku-cli-commands