9

私はnode.js開発者です。Amazonec2を使用してnode.jsアプリをデプロイします。

node.jsサービスを永続的に実行したい-何らかの理由で失敗した場合は再起動します。

私は2つのツールに出くわしました。Forever and Upstart

どちらか一方を使用することの利点はありますか?

より良い他のツールはありますか?

4

2 に答える 2

8

Upstart は、SysV Init に似たシステム サービス コントローラーであり、Node.js ベースかどうかに関係なく、登録されている基本的にすべてのサービスを開始/停止/再起動します。また、システムの起動時にサービスを自動的に開始します。ただし、Upstart は本質的に Ubuntu 固有のものであり、Upstart 固有のサービスは他の Linux ディストリビューションでは実行されません。

Upstart には SysV Init 互換性レイヤーがあり、代わりに、可能な限り幅広い互換性レイヤーを維持するためにターゲットにすることができます。

Forever は、必要に応じて他の Node.js アプリケーションを監視および再起動する Node.js アプリケーションであり、構成 JSON で定義されています。カスタム SysV Init スクリプトでサービスを複製するために必要な労力を必要とせずに、サービスを多数のオプションときめ細かい制御で制御できます。ただし、Foreverはシステム サービスではないため、サーバーが再起動された場合は、forever スクリプトを手動で再度開始する必要があります。

それ以上に、スクリプトがクラッシュした場合にスクリプトを再起動するものが必要であり、システムの起動時に自動的に起動することを気にしない場合、必要なのは次のような単純な bash スクリプトだけです。

#!/bin/bash
while true
do
    node ./myScript.js
done
于 2012-03-20T18:54:36.000 に答える
5

受け入れられた回答の誤解を招く声明を修正するために...新興企業がUbuntuのみのテクノロジーであるというのは真実ではありません。見る:

https://serverfault.com/questions/291546/centos-6-and-upstart http://searchenterpriselinux.techtarget.com/tip/RHEL-6-ditches-System-V-init-for-Upstart-What-Linux -管理者は知る必要があります http://en.wikipedia.org/wiki/Upstart#Adoption

それにより、それははるかに説得力のあるソリューションだと思います。

于 2012-03-22T16:16:21.137 に答える