我正在尝试集群我的节点服务器,所以我只是测试下面的示例代码 .

下面的代码在我第一次尝试时工作 . 我创建了一个新的js文件并运行代码 - 完美地工作 .

然后我删除了'practice'js文件并将完全相同的代码移动到我的服务器文件中以实现它 .

现在它永远不会认识到第一个 Worker 是主 Worker ......我不知道可能出了什么问题 .

我已经尝试将 process.env.NODE_UNIQUE_ID 设置为 undefined 但它不会重置主工作者!因此,每次运行此代码时,我都会得到没有"worker loop"的"Application running!",每当它通过创建工作程序循环时都会显示,这意味着它不会将第一个工作程序识别为主工作程序 .

有谁知道问题可能是什么?

const cluster = require('cluster');
if (cluster.isMaster) {
    var cpuCount = require('os').cpus().length;

    for (var i = 0; i < cpuCount; i ++) {
        cluster.fork();
        console.log(`worker loop ${i}`)
}
} else {
    var express = require('express');
    var app = express();

    app.get('/', function (req, res) {
    res.send('Hello World!');
});

app.listen(3000);
console.log('Application running!');
}