gpt4 book ai didi

javascript - 使用 proxy_pass 将 NGINX 链接到 Node.js 集群

转载 作者:行者123 更新时间:2023-12-02 16:59:49 24 4
gpt4 key购买 nike

我已经设置了 NGINX 服务器以及 node.js 进程。 Node.js 代码如下所示:

function startCluster() {
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}

cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
} else {
// begin
var server = app.listen(3000, function() {
console.log('Listening on port %d', server.address().port);
});
}
}

startCluster();

NGINX 配置使用 proxy_pass 将所有传入请求中继到端口 3000 上的 Node 。

当服务器启动时,我有一些 3-4 个 NGINX 进程和 5-6 个 Node 进程。 (尽管我认为这个数字可能会根据服务器负载而增加或减少)

问题: Node 的集群如何与NGINX的proxy_pass配合使用,是否需要任何额外的配置?或者NGINX只是将请求传递到端口3000,然后nodejs接管其余部分?

最佳答案

Nginx 会盲目地将 HTTP 请求传递到另一个主机/端口,而不了解任何有关支持应用程序的信息。 Node 的集群模块允许多个 Node 进程绑定(bind)到单个端口,并且对该端口的传入请求将均匀分布在可用的 Node 进程中。

关于javascript - 使用 proxy_pass 将 NGINX 链接到 Node.js 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25840248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com