Node.js群集未侦听

Node.js群集未侦听,node.js,Node.js,我正在尝试构建一个“Hello World”多进程node.js HTTP服务器 使用节点文档中提供的代码示例,我无法触发“侦听”事件,也无法触发HTTP服务器来响应请求。然而,我正在启动“在线”活动 如何让此服务器响应请求 我运行的是OSX 10.8.4,节点v0.10.7 以下是我所拥有的: var cluster = require('cluster'); var http = require('http'); var numCPUs = require('os').cpus().leng

我正在尝试构建一个“Hello World”多进程node.js HTTP服务器

使用节点文档中提供的代码示例,我无法触发“侦听”事件,也无法触发HTTP服务器来响应请求。然而,我正在启动“在线”活动

如何让此服务器响应请求

我运行的是OSX 10.8.4,节点v0.10.7

以下是我所拥有的:

var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
  // Fork workers.
  for (var i = 0; i < numCPUs; i++) {
    cluster.fork();
  }

  cluster.on('online', function(worker) {
    console.log('A worker with #' + worker.id);
  });
  cluster.on('listening', function(worker, address) {
    console.log('A worker is now connected to ' + address.address + ':' + address.port);
  });
  cluster.on('exit', function(worker, code, signal) {
    console.log('worker ' + worker.process.pid + ' died');
  });
} else {
  // Workers can share any TCP connection
  // In this case its a HTTP server
  http.createServer(function(req, res) {
    res.writeHead(200);
    res.end('hello world\n');
  }).listen(8000);
}
var cluster=require('cluster');
var http=require('http');
var numpus=require('os').cpus().length;
if(cluster.isMaster){
//叉工。
对于(变量i=0;i
我通过直接运行文件解决了这个问题。之前,我运行了server.js,这是一个单行程序:

server.js

server/app.js(问题中的代码片段)


通过运行
node app.js
而不是
node server.js
集群开始侦听。不知道为什么会有不同。

您发布的示例代码对我来说很好。双重检查numCPUs大于0???它打印“8”,因此8个进程分叉。示例代码是否实际接收并响应HTTP请求?是的,使用您的示例代码,我在浏览器中访问以下链接:。我看到了你好世界。我在OSX 10.8.4,节点v0.8.2(有点老了)。也许它在节点0.10中被破坏了,所以你知道,它在运行v0.10.11的Ubuntu nitrous.io box和运行v0.10.12的Mac OS X 10.8.4上对我都有效。我不知道为什么它对你不起作用——我唯一能想到的就是三次检查你是否来访。
require("./server/app.js");