servlet

    0.0.8 • Public • Published

    node-servlet

    NPM

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

    Servlet uses bouncy to route traffic based on host headers to individual projects ("servlets"). A servlet is a module that can be loaded with 'require' and exports a start() and a stop() function. The servlet server reloads modules if their source or their dependencies (autodetected) change on disk, or if the servlet server configuration changes (allowing you to hot-add and -remove servlets).

    Running servlet

    running on unprivileged port: servlet config.conf 8080

    running on privileged port as root and shedding priviliges immediately to continue as user wwwdata: servlet config.conf 80 wwwdata:wwwdata

    Example config

    [
      { "host": "project1.example.com", "file": "./project1/index.js" },
      { "host": "project2.example.com", "file": "../funstuff/server.js" }
    ]
    

    Example servlet

    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();
    }
    

    Launching and respawning with upstart

    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.

    Install

    npm i servlet

    Homepage

    schwen.de

    DownloadsWeekly Downloads

    64

    Version

    0.0.8

    License

    (ISC OR GPL-3.0)

    Last publish

    Collaborators

    • dschwen