0

Phoenix + Elixir でアプリを作成し、蒸留所でサーバーにデプロイしました。デプロイを自動化するためにいくつかの bash スクリプトを作成しようとするまで、すべてがうまくいきました。ログオンして実行したときに、VPS でデーモン モードでアプリを実行しようとすると、常に成功します。

sudo my_app/bin/app start

しかし、リモートコマンドでsshを実行すると

ssh user@some_ip -C "sudo my_app/bin/app start"

シェル画面に何も出力されず起動に失敗しました。それはうまくいきません。

しかし、フォアグラウンドモードで実行すると

ssh user@some_ip -C "sudo my_app/bin/app foreground"

アプリを正常に起動し、nohupフォアグラウンドモードで使用しようとしていた実行ログを表示しますが、別のコマンドを実行する必要がある間、実行ログは引き続き表示されます

SSHリモートコマンドを実行するために必要な手順はありますか?環境が設定されている可能性がありますか?

4

2 に答える 2

1

これはXY 問題の匂いがします。bin/app startそもそもプレーンでリモートを実行することは非常に悪い考えです。upstartまたは(または別のプロセス スケジューラ) を使用systemdして、アプリケーションの起動後にアプリケーションが確実に実行されるようにする必要があります。

適切に設定したら、次のようなものを実行します

ssh user@some_ip -C "sudo systemctl start app"

そして、あなたが現在経験しているグリッチはすぐになくなるはずです.

于 2017-08-29T04:25:11.027 に答える