我已經設置了一個Node.js服務器的測試,但是如何最好地啓動服務器?Node.js,express和集羣
我現在的策略是使用集羣(http://learnboost.github.com/cluster/)。這大多工作真的很好。我在我的app.js文件中的以下設置(與快遞創建):
cluster(app)
.use(cluster.reload())
.use(cluster.reload('views', {extensions: ['.js', '.ejs']}))
.use(cluster.logger('logs'))
.use(cluster.stats())
.use(cluster.repl('/Users/testuser/work/1test/test.sock'))
.use(cluster.debug())
.use(cluster.pidfiles())
.use(cluster.cli())
.listen(3000);
它工作在我的Mac當我在本地測試。我用命令
nohup node app.js &
推出,但是當我在Linux上運行和分離從主死亡的終端 - 工作線程仍在工作。在Mac上它甚至在我關閉終端時運行。
,我讀了,可能有必要更改用戶,這顯然可以在集羣來完成: .SET(「用戶」,「蘭博」)
有誰有一個「最佳實踐」爲使用集羣啓動node.js作爲「守護程序」,以便您可以分離終端?
如果我更改用戶應該在我啓動時登錄的用戶?
我是否應該使用諸如屏幕之類的程序從終端分離而不殺死任何進程?
非常感謝您的答覆 - 我發現我錯誤地升級到節點0.5.x.更進一步,我無法連接到導致主線程死亡的超時的mysql--沒有在日誌中寫入任何錯誤。一旦我降級到0.4.9並且測試了對MySql的訪問,所以我確信我可以連接到127.0.0.1,而給定的用戶羣集工作得很好而且很穩定。我也可以從終端上分離。 – Baxter
聽起來好像你還有其他問題,但@ idefine的建議是好的:永遠幾乎肯定是比屏幕或nohup更強大的解決方案。 – mattbornski