在 elasticbeanstalk 中,我可以通过 ssh 登录并手动重新启动(节点)应用程序吗?

Ash*_*man 7 ssh bash amazon-web-services

我想进入eb ssh,停止节点应用程序(不是整个实例),进行调试更改,然后npm start.

当我eb ssh进入时,我可以检查我的文件并编辑它们。但是我不能使用npm命令,而且我似乎无法使用我的 bash-fu 发现节点进程。在 aws cli 文档中,我只看到eb stopeb start重新启动了整个服务器(我认为可以安全地丢失我的更改)。

这根本不可能吗?

小智 8

要修改运行代码,请编辑以下文件:

/var/app/current
Run Code Online (Sandbox Code Playgroud)

然后,运行:

sudo pkill -f node
Run Code Online (Sandbox Code Playgroud)

将导致您的节点应用程序重新启动,并运行最新的代码。


小智 5

Elastic Beanstalk 使用 upstart 来管理其流程。

您可以使用 initctl 重新启动进程。

例如

initctl restart nodejs
Run Code Online (Sandbox Code Playgroud)

start显然,如果由于某种原因它尚未运行,您可以启动它而不是重新启动。

同样,您可以将相同的方法应用于新贵管理的任何流程。您可以使用以下命令找到这些进程的名称

initctl list
Run Code Online (Sandbox Code Playgroud)