capistranoを使用してplay2アプリケーションをデプロイしようとしていますが、デプロイが成功した後、play2アプリケーションを(再)起動する方法がわかりません。'play start'をトリガーするだけで、プロセスがハングし、Ctrl+Dを押すのを待っています。
Playアプリのルートフォルダーに開始スクリプトを作成しました
#!/bin/bash
nohup bash -c "/var/lib/play2/play start &>> /tmp/myapp.log 2>&1" &> /dev/null &
これをサーバーで実行するとうまく機能します。ローカルマシンからssh経由でこれを呼び出そうとすると、それも機能します。しかし、私がcapistranoを使用しているとき、それは何もしないようです。私のcapistrano設定は次のようになります:
namespace :deploy do
task :restart do
stop
sleep 1
start
end
task :start do
run "cd #{current_release}/trip-api && ./start.sh"
end
task :stop do
run "cd #{current_release}/trip-api && ./stop.sh"
end
end
リモートマシンでplay2アプリケーションを起動するための最良の方法は何ですか?capistranoで動作させる方法は?