,我一直在使用Node.js
和Socket.io
實時應用程序,我想利用它從本地測試階段與我們的一些用戶測試它。麻煩的是,如果我關閉ssh會話到我的服務器,它也會停止我開始使用的服務器node app.js
Node.js:優雅重啓和服務器正常運行時間,howto?
我曾考慮過使用nohup,
,但我偶爾會遇到分段錯誤或其他隨機錯誤,導致服務器關閉。我需要1)知道什麼時候(以及希望爲什麼)我的服務器崩潰了,所以我都可以改進它以減少崩潰並確保重新啓動它。另外,我不能24/7全天醒來重新啓動服務器,所以有一些daemon
會很可愛。
我發現通過NPM可forever
,但它不是與節點的版本比0.8.x
更近,我跑0.9.1
兼容,它似乎並不像它就會被維護得很好。
我也偶然發現了distribution
和up
,但使用它們構建體面的應用程序的文檔和示例似乎很缺乏。
然後有這個答案使用cluster
和os
模塊。 https://stackoverflow.com/a/10997753/1883464
但節點列出集羣實驗http://nodejs.org/api/cluster.html
隨着真實的生產環境,我開始得不到答案,範例,並討論保持節點服務器正常運行(和更新他們的代碼!)感覺我是第一個想要將他們的應用程序部署的人;)不知何故,我確信對於我沒有找到的這個問題有一些常見的答案。
看看我的答案http://stackoverflow.com/questions/14287429/what-is-the-current-best-practice-for-a-production-deployment-of-node-to-aws/ 14288820#14288820特別是關於'集羣'的可靠性的評論。 – 2013-02-08 16:14:26
另外,請閱讀:http://gun.io/blog/tutorial-deploy-node-js-server-with-example/它使用monit monitore並重新啓動node.js應用程序,如果它崩潰。 – Kaeros 2013-02-08 16:16:09
謝謝!@AaronDufour你的答案給了我更多的思考使用羣集方法。 – runspired 2013-02-08 16:23:49