Single thread, multiple host node application server
npm install servletrun 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.