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