创建节点JS群集在登录时出现问题

时间:2016-06-30 13:31:42

标签: node.js express nodes passport.js

我为NodeJs应用程序创建了集群



var cluster = require('cluster');

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

	console.log('Master cluster setting up ' + numWorkers + ' workers...');

	for (var i = 0; i < numWorkers; i++) {
		cluster.fork();
	}

	cluster.on('online', function(worker) {
		console.log('Worker ' + worker.process.pid + ' is online');
	});

	cluster.on('exit', function(worker, code, signal) {
		console.log('Worker ' + worker.process.pid + ' died with code: ' + code
				+ ', and signal: ' + signal);
		console.log('Starting a new worker');
		cluster.fork();
	});
} else {
	require('./server');
}
&#13;
&#13;
&#13;

这里我认为群集已经启动了4到5个进程 但是当我登录我的应用程序时,它又会重定向到登录页面。 我使用护照npm登录

1 个答案:

答案 0 :(得分:1)

使用会话时,请确保将会话存储在数据库中,而不是存储在内存中,因为每个请求都将重定向到其他群集,因此会丢失会话。

在会话中使用connect-mongo之类的东西(如果使用mongodb) https://github.com/kcbanner/connect-mongo