在我的公司,我们决定使用nodejs来完成未来的项目。
为了记录,我们可能在同一台服务器上有50到100个网站。 它将是一个小型网站,整个服务器同时最多可达1000个访问者。我们已经在我们的第一台服务器上运行了大约100个运行PHP + Apache的网站。
我的问题很简单,最好的方法是什么?
多个nodejs服务器:
var http = require('http'); var server = http.createServer(function (rq, rs) {...}); server.listen(3001); var server = http.createServer(function (rq, rs) {...}); server.listen(3002); ... var server = http.createServer(function (rq, rs) {...}); server.listen(3999);
或只是一台服务器:
var http = require('http'); var server = http.createServer(function (rq, rs) {...}); server.listen(3001);
Nginx将用于反向代理。
答案 0 :(得分:0)
您应该创建在多个节点进程下运行的多个节点服务器。如果将它们全部设置在同一节点进程中,则一个http服务器代码中的崩溃也会导致所有其他http服务器崩溃。
答案 1 :(得分:0)
100个动态网站,每个网站都有自己独特的业务逻辑?如果答案是否定的,则可能需要1个api服务器(取决于负载和可靠性要求 - 多个进程/ node.js集群/ nginx / elb平衡器)+ nginx服务的100个静态站点(可能是一个nginx服务器用于您的负载)
如果它实际上是100个完全不相关的站点,我的建议是在一个端口上监听一个服务器(但是多个进程,至少x个核心)。 100个节点进程增加了太多的内存开销(约1-2 gb)。