如何在Heroku上重新启动Rails服务器?


220

在本地,我只是中断(ctrl-c)然后重新启动。

如何在heroku上使用应用程序执行相同的操作?


请注意不要过分急切地将开发环境$ rails restart转换为等效于Heroku的等效环境$ heroku rails restart。此命令依赖于spring(通常)不会在Heroku上安装的命令。因此heroku restart就跟别人说的一样。
杰克·金塞拉

Answers:


428

答案是:

heroku restart -a app_name

# The -a is the same as --app

轻松使用别名,alias hra='heroku restart --app '
您可以通过将其添加到.bashrc或.bash_aliases文件中来制作永久别名,如以下网址所述:https ://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash -alias
创建永久的可执行文件别名
然后您可以键入hra app_name

您可以使用以下命令重新启动特定的远程服务器,例如“ staging”:

heroku restart -a app_name -r remote_name

或者,如果您位于rails应用程序的根目录中,则只需键入

heroku restart

重新启动该应用程序,然后您可以使用

alias hr='heroku restart'`

您可以将这些别名放在您的.bashrc文件中,也可以(首选)放在.bash_aliases从中调用的文件中.bashrc


2
另外,如果您收到消息No web processes running-那是因为您的动态数为零-登录到heroku并扩展您的应用程序-这就是我提出这个问题的方式。
Yuval Karmi 2014年

2
如果您的应用程序有多个heroku遥控器(例如,登台或生产环境),则需要从应用程序根目录运行以下命令:heroku restart -r <name of heroku remote>例如heroku restart -r production
扶手椅

1
嗯,为什么它没有-h上市。
斯瓦沃米尔Lenart

35

进入终端上的应用程序目录并运行以下命令:

heroku restart

18

如果您有多个heroku应用,则必须输入 heroku restart --app app_nameheroku restart -a app_name


语法错误,应为heroku restart -a appname
模仿

那是一个古老的答案。
matiasdim '18


14
heroku ps:restart [web|worker] --app app_name

适用于Procfile中声明的所有进程。因此,如果您有多个Web进程或辅助进程,每个进程都标有一个数字,则可以有选择地重新启动其中之一:

heroku ps:restart web.2 --app app_name
heroku ps:restart worker.3 --app app_name
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.