[英]Node.js, express and cluster
我已經設置了 Node.js 服務器的測試,但是如何最好地啟動服務器?
我現在的策略是使用集群(http://learnboost.github.com/cluster/)。 這主要工作非常好。 我的 app.js 文件中有以下設置(使用 express 創建):
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('user', 'rambo')
有沒有人有將 node.js 作為帶有集群的“守護程序”啟動的“最佳實踐”,以便您可以分離終端?
如果我更改啟動時應該登錄的用戶?
我應該使用諸如屏幕之類的程序從終端分離而不殺死任何進程嗎?
看起來你也在設置
.use(cluster.repl('/Users/testuser/work/1test/test.sock'))
您的 linux 服務器上可能不存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.