var app = require('../app');
var debug = require('debug')('hello:server'); //项目名为hello 其他的改hello
var cluster = require('cluster');
var numCPUs = require('os').cpus().length;
/**
* Get port from environment and store in Express.
*/
if(cluster.isMaster){ //判断进程是否工作
console.log('[master] ' + "start master...");
for (var i = 0; i < numCPUs; i++) { //根据CPU通道 开启进程
cluster.fork();
}
cluster.on('listening', function (worker, address) { //为cluster绑定listening事件
console.log('[master] ' + 'listening: worker' + worker.id + ',pid:' + worker.process.pid + ', Address:' + address.address + ":" + address.port);
});
}else{ //进程已启动 开启http服务
console.log('[worker] ' + "start worker ..." + cluster.worker.id);
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
}