【发布时间】:2017-08-19 23:17:01
【问题描述】:
这个问题只出现在我的机器上。我在其他机器上尝试了我的代码,它运行良好,我没有任何解决方案,因为没有代码级别的问题,可能是它的操作系统问题或者可能是 Nodejs 版本问题,我不知道。
操作系统:Window 7 Professional 64 位
Nodejs 版本:4.4.3
代码
var cluster = require('cluster');
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 %s died", code);
cluster.fork();
});
} else {
var express = require('express');
var http = require('http');
// init app
var app = express();
app.get('/',function(req,res){
res.send('home page');
});
function createServer(app) {
return http.createServer(app);
}
app.locals.server = createServer(app);
app.locals.server.listen(8080, function() {
console.info("server online");
});
}
命令行登录
server online
server online
server online
server online
当我点击http://localhost:8080 时,新的日志是
worker 3221225477 died
server online
浏览器没有数据,一直在浏览器上加载。
请帮忙。
【问题讨论】:
-
您的机器上的端口
8080是否打开?某些防火墙可能会阻止通过该端口的连接。 -
@ErrHunter 我在本地运行它,它在没有集群的情况下运行良好,
-
您是否尝试过使用PM2。安装并尝试使用它的
Cluster mode,如果它与它一起工作,那么我们的实现可能有问题,如果它在那里不起作用也意味着它有其他问题,主要是操作系统或网络或其他东西。
标签: node.js windows node-cluster