diff --git a/.gitignore b/.gitignore index f356293..278d773 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ logs results npm-debug.log +node_modules/ \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 0000000..48e746b --- /dev/null +++ b/app.js @@ -0,0 +1,21 @@ +var Server = require("./scripts/server.js"); + +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('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 + var server = new Server(); +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..0efbe19 --- /dev/null +++ b/package.json @@ -0,0 +1,12 @@ +{ + "name": "application-name", + "version": "0.0.1", + "private": true, + "scripts": { + "start": "node app.js" + }, + "dependencies": { + "express": "3.3.5", + "ejs": "*" + } +} \ No newline at end of file diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css new file mode 100644 index 0000000..30e047d --- /dev/null +++ b/public/stylesheets/style.css @@ -0,0 +1,8 @@ +body { + padding: 50px; + font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; +} + +a { + color: #00B7FF; +} \ No newline at end of file diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..f296005 --- /dev/null +++ b/routes/index.js @@ -0,0 +1,8 @@ + +/* + * GET home page. + */ + +exports.index = function(req, res){ + res.render('index', { title: 'Express' }); +}; \ No newline at end of file diff --git a/routes/user.js b/routes/user.js new file mode 100644 index 0000000..d5b34aa --- /dev/null +++ b/routes/user.js @@ -0,0 +1,8 @@ + +/* + * GET users listing. + */ + +exports.list = function(req, res){ + res.send("respond with a resource"); +}; \ No newline at end of file diff --git a/scripts/server.js b/scripts/server.js new file mode 100644 index 0000000..beeb3cb --- /dev/null +++ b/scripts/server.js @@ -0,0 +1,40 @@ + +/** + * Module dependencies. + */ + +var express = require('express'); +var routes = require('../routes'); +var user = require('../routes/user'); +var http = require('http'); +var path = require('path'); + +module.exports = function() { + + var app = express(); + + // all environments + app.set('port', process.env.PORT || 3000); + app.set('views', __dirname + '/views'); + app.set('view engine', 'ejs'); + app.use(express.favicon()); + app.use(express.logger('dev')); + app.use(express.bodyParser()); + app.use(express.methodOverride()); + app.use(express.cookieParser('your secret here')); + app.use(express.session()); + app.use(app.router); + app.use(express.static(path.join(__dirname, 'public'))); + + // development only + if ('development' == app.get('env')) { + app.use(express.errorHandler()); + } + + app.get('/', routes.index); + app.get('/users', user.list); + + http.createServer(app).listen(app.get('port'), function(){ + console.log('Express server listening on port ' + app.get('port')); + }); +} \ No newline at end of file diff --git a/views/index.ejs b/views/index.ejs new file mode 100644 index 0000000..1500071 --- /dev/null +++ b/views/index.ejs @@ -0,0 +1,11 @@ + + + + <%= title %> + + + +

<%= title %>

+

Welcome to <%= title %>

+ + \ No newline at end of file