node package manager

Introducing npm Enterprise add-ons. Integrate third-party dev tools into npm…

servlet

Single thread, multiple host node application server

servlet

run multiple servers in one node.js process, restarting individual servers when their code files change on disk

servlet uses [fs.watch] to monitor server module source files and its own configuration file. Modules are reloaded to realize changes immediately.

As root:

> servlet config.conf 80 wwwdata:wwwdata

As an unpriviliged user:

> servlet config.conf 8080

[
  { "host": "project1.example.com", "file": "./project1/index.js" },
  { "host": "project2.example.com", "file": "../funstuff/server.js" }
]
var app = require('http').createServer(function(req,res){res.end(req.url)})
exports.start = function( options ) {
  // start listening on the port assigned to the servlet
  app.listen( options.port );
}
exports.stop = function() {
  // clean up
  app.close();
}

On Ubuntu systems upstart can be used to launch servlet at boot time and keep it running. Check out node-servlet.conf for an upstart example config file.