私はnode.jsの開発者です。私はAmazon EC2を使ってnode.jsアプリを配備しています。node.jsスクリプトを実行している状況でupstartスクリプトまたはforeverスクリプトを使用するメリットとデメリットは何ですか?
node.jsサービスを永続的に実行したいと思います。何らかの理由で失敗した場合は、再起動してください。
私は2つのツールに出くわしました。 ForeverとUpstart
もう一方を使用する利点はありますか?
他にも優れたツールがありますか?
私はnode.jsの開発者です。私はAmazon EC2を使ってnode.jsアプリを配備しています。node.jsスクリプトを実行している状況でupstartスクリプトまたはforeverスクリプトを使用するメリットとデメリットは何ですか?
node.jsサービスを永続的に実行したいと思います。何らかの理由で失敗した場合は、再起動してください。
私は2つのツールに出くわしました。 ForeverとUpstart
もう一方を使用する利点はありますか?
他にも優れたツールがありますか?
UpstartはSysV Initと同様のシステムサービスコントローラであり、基本的にはサービスが登録されており、Node.jsベースで起動/停止/再起動され、システム起動時に自動的にサービスを開始します君は。しかし、Upstartは本質的にUbuntu固有のものであり、Upstart固有のサービスは他のLinuxディストリビューションでは動作しません。
Upstartには、できるだけ幅広い互換性レイヤーを維持するために、代わりにターゲットにできるSysV Init互換性レイヤーがあります。
Foreverは、必要に応じて、また構成JSONで定義されているように、他のNode.jsアプリケーションを監視して再起動するNode.jsアプリケーションです。カスタムのSysV Initスクリプトでそれを複製するために必要な労力なしに、多くのオプションとサービスのきめ細かな制御。ただし、永久にはシステムサービスではないので、サーバーを再起動する場合は、手動で永久スクリプトを再度起動する必要があります。
それ以外では、クラッシュしたときにスクリプトを再起動する必要があり、システム起動時に自動的に起動しないように気をつけなければ、必要なのは簡単なbashスクリプトです:
#!/bin/bash
while true
do
node ./myScript.js
done
永久に管理されるノードプロセスが少なく、そのうちの1つを再起動したい場合はどうすればよいですか? – Anatoliy
[forever](https://github.com/nodejitsu/forever)のドキュメントによれば、デーモンとして起動/停止/再起動するスクリプトを指定するので、その名前をリストするだけです。 2つのスクリプトがまったく同じ名前を持っていれば、何をする必要があるのか分かりません。 –
ありがとうございます。以前は、私が覚えている限り、インスタンスの数でした。両方の解決策は現実世界ではうまくいきません:(でも、私はupstartを使い続けるつもりです、それはすごいツールです。) – Anatoliy
受け入れられた回答で誤解を招く言葉を訂正するだけ...アップスタートは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-admins-need-to-know http://en.wikipedia.org/wiki/Upstart#Adoption
を、私はそれがはるかに魅力的なソリューションだと思います。
ちょうどこれが気付きました。RedHatはSystemDのUpstartを捨てているので、私の意見が重要だと思います。 –
Debianもsystemd(すべて小文字です)で標準化することにしました.Shorttleworthの発言によれば、Ubuntuがそれに従うと思われます.14.04 – Guss
+1なぜこの質問がもっと愛しているのかわかりません!私はそれが非常に有用であることが分かった –