app.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * Module dependencies.
  3. */
  4. const cluster = require('cluster'),
  5. physicalCpuCount = require('physical-cpu-count'),
  6. express = require('express');
  7. const bodyParser = require('body-parser');
  8. if (cluster.isPrimary) {
  9. console.log(`Primary ${process.pid} is running`);
  10. // Fork workers.
  11. for (let i = 0; i < physicalCpuCount; i++) {
  12. cluster.fork();
  13. }
  14. cluster.on('exit', (worker, code, signal) => {
  15. console.log(`worker ${worker.process.pid} died`);
  16. });
  17. } else {
  18. const app = module.exports = express();
  19. // Configuration
  20. app.use(bodyParser.urlencoded({ extended: true }));
  21. // Set headers for all routes
  22. app.use((req, res, next) => {
  23. res.setHeader("Server", "Express");
  24. return next();
  25. });
  26. app.set('view engine', 'jade');
  27. app.set('views', __dirname + '/views');
  28. // Routes
  29. app.get('/json', (req, res) => res.send({ message: 'Hello, World!' }));
  30. app.get('/plaintext', (req, res) =>
  31. res.header('Content-Type', 'text/plain').send('Hello, World!'));
  32. app.listen(8080, () => {
  33. console.log('listening on port 8080');
  34. });
  35. }