2015-09-24 78 views
6

私はpm2を使用してnode.jsプロセスを開始していますが、システム(Intel AtomプロセッサのUbuntu 14.04)を起動すると自動的にこのプロセスを開始します。私はpm2 web siteの指示に従ったが、成功しなかった。私のdump.pm2は正しいと思われますが、pm2デーモンは起動されません。私はubuntulinuxの両方のオプションをpm2 startupに対して試してみました。また、指定したユーザーの有無にかかわらず、自動検出と同様に、ファイル(リンク)S20pm2-init.sh/etc/rc[2-5].dに作成されましたが、何も開始されません。システムログに明らかなエラーメッセージが見つかりません。Ubuntu 14.04 - 再起動後にpm2スタートアップが起動しない

アイデア?

編集ファイル/etc/init.d/pm2-init.shUSER=によって定義されたものと同じである私のログインアカウントから実行したとき、私は、 service pm2-init.sh startが正しくデーモンを起動することを見つける

追加します。このファイルのPM2_HOME定義が正しい場所を指していることを確認しました。しかし、システム起動時にはまだ起動しません!

+2

私はUbuntu 15.04でpm2を使用しています。私は可能な解決策をすべて試しましたが、私のサーバーを再起動するときには何もしませんでした。 –

答えて

2

これはとにかくうまくいきました。私はもともと同じ名前のノードアプリケーションを実行しているnode-redというシステムユーザ(ログインシェルなし)として起動しようとしていましたが、正常に動作しなかったときは普通のユーザとして起動しようとしましたmax。このゆっくりとしたアトムプロセッサー上で突然動作を開始したものを少し手抜きした後に、しかしというノードアプリケーションは、デスクトップが表示されてからほんの数分後に起動します。

システムユーザーの下で実行するには、最初にmaxとしてログインし、すべてのpm2ジョブを削除し、pm2 saveを実行して空のダンプファイルを作成してください。その後、私はした:

sudo npm install [email protected] -g 
pm2 update 

助けてくれた場合は、最新版を入手する。その後

export PM2_HOME="/home/node-red/.pm2" 

:私はその後、私は

sudo su -c "env PATH=$PATH:/usr/bin pm2 startup ubuntu -u node-red" 

を走り、node-redのホームディレクトリにPM2_HOMEディレクトリを設定する行を修正/etc/init.d/pm2-init.sh編集0.14.7から0.15.7

に移動しましたnode-redユーザーのログインバージョンになり、そのユーザーのホームディレクトリに変更し、自分の仕事を開始し、プロセスリストを保存しました:

sudo -H -u node-red bash -l 
cd 
pm2 start /usr/local/bin/node-red --node-args="--max-old-space-size=128" -- -v -u /home/node-red/.node-red 
pm2 save 

その後、私はnode-redのシェルを終了し、再起動して、(1分ほど遅れて)アプリケーションがうまく動いていました!

これは、init/upstartシステムを使用するubuntu 14.04でした。後のバージョンでは、systemdというアプローチを採用しており、起動スクリプトを作成するときにはパラメータをsystemdに変更する必要があります。

私はそれが初めて正しく動作しなかった理由はまだ分かりません。PM2のスタートアップが機能するために

+0

この行は 'export PM2_HOME ="/home/node-red/.pm2 "'私のための修正です。それは何かの理由で 'export PM2_HOME ="/root/.pm2 "'でした – neelabh

5

は、重要なdocumentationに埋もれコマンドとhere.

あなたが)1に持っているすべてのプロセスを開始するがあります、2)起動スクリプトを作成し、3)pm2 save

実行

@lazlojuly's answer hereへの参照。

+0

これは私のためにうまくいきます - 私のDigital Ocean Ubuntuのドロップレットのスタートアップスクリプトへのカスタムのハックやカスタマイズなし。 – Red

+0

+1これは、[スタートアップのドキュメント](http://pm2.keymetrics.io/docs/usage/quick-start/)には含まれていません。 – ow3n

0
私が作成されます

  1. このファイルを保存しPM2を実行した後に、このソリューション

    に来てまでしながら、私はやめるために周りの仕事を探して

    - > /etc/init.d/pm2-init .SH

  2. は、クーロンタブの @rebootルートはCMD上でそれを実行する この等価を開始/etc/init.d/pm2-init.shが、再起動時に
をトリガー10

これは私のためにうまくいきます

関連する問題