Phoenix + Elixirを使ってアプリケーションを構築し、それを蒸留所でサーバーに展開しました。 私は配備を自動化するためのbashスクリプトを作成しようとするまで、うまくいっていました、FYI:私はedeliverを試しましたが、私の必要性に合わなかったのです。 私はVPSのElixirアプリはデーモンモードのsshから起動できません
ssh [email protected]_ip -C "sudo my_app/bin/app start"
リモートコマンドでSSHを実行するときには、起動に失敗した、試してみるが、私がログオンしたときに、私のVPS上のデーモンモードでアプリを実行し、
sudo my_app/bin/app start
を実行する際に常に成功だ。しかしシェル画面に出力はありません。それだけではうまくいきません。
しかし、私は
ssh [email protected]_ip -C "sudo my_app/bin/app foreground"
とフォアグラウンドモードで実行する場合は、アプリを起動すると、私はフォアグラウンドモードでnohup
を使用しようとしてきたが、それはまだ実行ログを示す実行ログ を表示し成功します私は別のコマンドを実行する必要があります。
SSHリモートコマンドを実行するために必要なステップはありますか?
[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のような匂いがします。単純な 'bin/app start'でリモートを走らせることは、最初は非常に悪い考えです。 'upstart'や' systemd'(あるいは別のプロセススケジューラ)を使って、起動後にアプリケーションが起動して動作するようにする必要があります。適切に設定されると、 'ssh user @ some_ip -C" sudo systemctl start app "'のようなものを実行し、現在経験している不具合はすぐに消えてしまいます。 – mudasobwa
ええ、 'systemd'が私のために働いています。ありがとうございます。@ mudasobwa –
こんにちは@mudasobwaさんは、回答として投稿することができますので、私はそれを受け入れられた答えとして選択することができました –