Page loads forever when using clusters with Nodejs / Expressjs <p>This is my application : app.js</p> <pre><code>/** Express **/ var express = require('express'); /** Create express application **/ var app = express(); /** Set application port **/ app.set('port', process.env.PORT || 3000); /** Set application view engine**/ var handlebars = require('express-handlebars').create({ defaultLayout: 'main', helpers: { section: function(name, options){ if(!this._sections) this._sections = {}; this._sections[name] = options.fn(this); return null; }, parrot: function(options){ return options.fn(this) + ' &lt;b&gt; parrot &lt;/b&gt;'; } } }); /*** Cluster Logger**/ app.use(function(req, res, next){ var cluster = require('cluster'); if(cluster.isWorker) console.log('CLUSTER: Worker %d received request.', cluster.worker.id); next(); }); /** home page**/ app.get('/', function(req, res){ res.send('Welcome !!'); }); /** about page**/ app.get('/about', function(req, res){ res.send('About us!'); }); /** contact page **/ app.get('/contact', function(req, res){ res.send('contact us here'); }); // startServer in export/direct mode function startServer(){ app.listen(app.get('port'), function(){ console.log('Parrot started in '+app.get('env')+' mode on http://localhost:'+ app.get('port')+ '; \n press Ctrl-C to terminate'); }); } if(require.main === module){ startServer(); }else{ module.exports = startServer; } </code></pre> <p>And this is parrot.js (with cluster include)</p> <pre><code>//import cluster var cluster = require('cluster'); //startWorker function startWorker(){ var worker = cluster.fork(); console.log('CLUSTER: Worker %d started', worker.id); } if(cluster.isMaster){ //in case the cluster is Master require('os').cpus().forEach(function(){ startWorker(); }); cluster.on('disconnect', function(worker){ console.log('CLUSTER: Worker %d disconnected from the cluster', worker.id); }); cluster.on('exit', function(worker, code, signal){ console.log('CLUSTER: Worker %d died with exit code %d (%s)', worker.id, code, signal); startWorker(); }); }else{ //in case cluster.isWorker (not master), run app directly require('./app.js')(); } </code></pre> <p>The problem, is that when I run <code>node app.js</code>, the app works just fine on <code>http://localhost:3000</code> ... and the page works great in the browser.</p> <p>When I run as a set of clusters (with <code>node parrot.js</code>), everything looks good in console:</p> <pre><code>CLUSTER: Worker 1 started CLUSTER: Worker 2 started Parrot started in development mode on http://localhost:3000; press Ctrl-C to terminate Parrot started in development mode on http://localhost:3000; press Ctrl-C to terminate </code></pre> <p>But, the page loads forever and nothing shows on the browser? I don't know what's the problem here. Sorry for my language for I'm a Node.js newbie.</p> <p>Thank you</p>