2015-01-11 9 views
17

を働いていないウォッチ:エクスプレス4 + PM2私はこれとPM2を実行している

pm2 start bin/www --watch ../ 

問題は、私はルートフォルダにapp.jsを更新するとき、それはノードをautorestartingされていないようだということです。何か案は?ソリューション考え出し

+0

を私は自分自身をこれを理解しようとしてきました。私の考えは、プロジェクトのルートディレクトリである実行ディレクトリに対するwatchディレクトリを使用している可能性があるため、 ' - watch ... /'を指定すると実際は*上記のフォルダ*を指定していますあなたは実際に見たいと思う。プロダクションサーバーで 'pm2'を使っているので自分で試してみたわけではないので、' ssh'で 'git pull 'を実行し、' pm2 restart www'を手動で実行すると、それはあなたの問題に関係しません。 –

+1

@BrandonAnzaldi:解決策が見つかりました。以下の答えとして掲示される。 – ninjaneer

答えて

35

//processes.json: 
    { 
     "apps" : [{ 
     "name"  : "someExpress4App", 
     "script"  : "bin/www", 
     "watch"  : "../", 
     "log_date_format" : "YYYY-MM-DD HH:mm Z", 
     }] 
    } 

はその後ように、あなたのPM2を実行し、プロジェクトのルートにそれを置く:

pm2 start processes.json 
+0

"watch"をブール値にする必要がありますか?ウォッチ機能を有効にします。デフォルトは "false"です。 trueの場合、アプリのフォルダまたはサブフォルダでファイルの変更が検出されるたびにアプリを再起動します。 – spikeyang

+1

これを行うと、Expressの親ディレクトリ全体が表示されます。つまり、ディレクトリ.ideaを維持するWebstormのようなものを使用すると、Webstormがこのディレクトリに書き込むたびにpm2がサーバーを再起動します。フォルダパブリックで何かを変更した場合と同じことです... その代わりに、あなたが見たいディレクトリとapp.jsの「watch」を直接追加することを提案します:['core'、 'other-folder'、 'app .js '] ' – user1853777

+0

@ user1853777:常に更新される内容が分かっている場合は、「ignore_watch」:[" .idea "]'を実行する方がよいかもしれません。 – ninjaneer

関連する問題