2016-04-04 5 views
0

私はデジタル海洋に新しい(私は過去に英雄を使っただけです)。私はドロップレット/サーバーにセットアップした基本的なノードアプリケーションを持っています。私はsshを起動し、npmの起動を実行し、私のアプリケーションが実行されます。すべてが良いです。しかし、私がssh接続を終了すると、私のアプリが死んでしまいます(壊れたパイプ)。ノードのアプリケーションをssh経由でデジタル海洋に生き残る方法

私のアプリを起動するにはどうしたらいいですか?私のアプリが動くためには、ssh接続が常に生きている必要はありませんか?

(私は14.04にUbuntuのノードv4.4.0を実行している)

答えて

2

あなたは何かが起これば、それは実行中のまま確保するためにpm2のようなプロセスのスーパーバイザーを使用してノードのプロセスを起動する必要があります。それは非常に脆いですけれども

node app.js & 

迅速かつ汚いアプローチが背景にのようなもので、あなたのアプリです。プロセスにエラーがある場合、プロセスは終了し、再起動しません。

crontabpm2を追加して、@rebootの下に追加して、システムを再起動するときに蹴飛ばすこともできます。

+0

よろしくお願いいたします。それは 'node app.js&'を持っているタイプミスですか?私は今pm2でうまく動いています。たとえば、 'pm2 start server.js' – Ben

+0

少なくとも、コマンドに' nohup 'を追加する必要があります。 – mscdex

+0

@ben最後のシェルの '&'文字は、「バックグラウンドで実行」を意味します。これは、それが実行されたままであること、または適切に起動することを保証するものではありませんが、シェルから切り離されていることを意味します。 'pm2'はあなたのためにログを保存し、あなたにステータスレポートを与えるので、はるかに良いです。 – tadman

関連する問題