プロジェクトの新しいコードを変更またはアップロードするときにダウンタイムをゼロにする方法として、 LearnBoost の Up for Node.js を使用しています。私のプロジェクトは ( Socket.io経由で) Web ソケットを使用しているため、リアルタイム接続が失われるため、アプリをコールド リロードしたくありません。
「ゼロ ダウンタイム リロード」を提供するように LearnBoost の Up を使用していますが、コードを変更するとアプリが正しくリロードされないようで、Node アプリを終了して手動で再起動する必要があります。新しいコードを実行します。
ローカルの Mac マシンと Linux サーバーの両方で Up の最新バージョン (執筆時点では0.2.1 ) を実行しています。
これをローカル dev で使用して、Node アプリを実行します。
NODE_ENV=development up --watch --port 9001 init.js
しかし、アプリの静的メディア フォルダーを変更したり、ターミナルでルーティングの一部を変更したり (たとえば) のような単純な (しかし抜本的な) ことをすると、アプリが再起動されたように見えますが、実際の変更は行われません。唯一の方法は、Node アプリを手動で終了して再起動することです。私のリモートサーバーでも同じですが、明らかにこれは正しくありません。
これを正しく使用していますか?