Expressjs到生产

时间:2011-08-10 17:50:55

标签: node.js nginx express

我是expressjs的新手,我想将一个expressjs应用程序部署到生产中。基于我的谷歌搜索,这是我在想的架空设置:

1负载均衡器+ 2服务器+永远运行应用程序

我的问题是:

  1. 我应该使用什么引擎来运行应用程序? nginx的?

  2. 每台服务器可以运行多少个应用程序?

  3. 谢谢。

2 个答案:

答案 0 :(得分:8)

  1. 如果您正在提供静态文件或使用任何nginx的反向代理功能,则可以使用nginx。但如果没有,由于您的服务器位于负载均衡器之后,因此根本不需要nginx。

  2. 经验法则是每个核心一个node.js / express.js进程。请查看cluster以帮助您管理此问题。确保您的负载均衡器知道您正在运行的所有node.js进程(并且不仅仅是在每个服务器上的一个IP /端口对之间进行负载平衡)。

  3. 更新:Node.js现已开箱即用cluster

    另外,如果你在Ubuntu上部署,你可以使用upstart而不是永远。如果你愿意的话。

答案 1 :(得分:1)

您需要在计算机上安装nodejs才能运行nodejs。 nginx是用于反向代理和负载均衡器的服务器。您也可以通过pm2运行该应用程序,而不是永远运行它,因为它将处理所有群集并在后台运行您的应用程序。