it-swarm-ja.com

elasticbeanstalkで、(ノード)アプリをSSHで接続して手動で再起動できますか?

eb sshを入力し、ノードアプリ(インスタンス全体ではない)を停止し、デバッグを変更して、npm startを実行したいと思います。

eb sshを実行すると、ファイルを検査して編集できます。しかし、npmコマンドを使用できず、bash-fuを使用してノードプロセスを検出できないようです。 aws cli docsには、サーバー全体を再起動するeb stopeb startのみが表示されます(変更を失うと、安全だと思います)。

これは単に不可能ですか?

7
Ashley Coolman

実行中のコードを変更するには、次のファイルを編集します。

/var/app/current

次に、実行します。

Sudo pkill -f node

最新のコードが実行された状態で、ノードアプリが再起動されます。

7
jaynp

Elastic Beanstalkは、upstartを使用してプロセスを管理します。

Initctlを使用してプロセスを再起動できます。

例えば

initctl restart nodejs

明らかに、何らかの理由でまだ実行されていない場合は、再起動する代わりにstartで開始できます。

同様に、upstartによって管理されるすべてのプロセスに同じことを適用できます。これらのプロセスの名前は、を使用して見つけることができます

initctl list
3
Ben Swinburne

SOの同様の質問に対する 私の応答 を参照してください

要旨は、nodejs固有のアプリの場合、試してみてください

# to start the process
python /opt/elasticbeanstalk/containerfiles/ebnode.py --action start-all
# to stop the process
Sudo python /opt/elasticbeanstalk/containerfiles/ebnode.py --action stop-all
2
Jeremy