расскажу как у меня сделано. Есть сервер, внутри
Linux Containers, в каждом контейнере отдельное node.js приложение. На самом сервере вне контейнеров стоит nginx, который проксирует запросы к контрейнерам.
Дальше, внутри контейнера
nvm с node.js и
supervisor. Node.js работает под nobody внутри контейнера.
Куски того как это все настраивается можно глянуть у меня здесь
express(node.js) + capistrano + supervisord, здесь
Install LXC (Linux Containers) и здесь
Install hubot on ubuntu. Записям год, что-то немного могло измениться.
Создание нового приложения максимально просто, у меня заранее лежит контейнер sample, в котором уже стоит и supervisor и node.js в nvm. Просто делаю lxc-clone контейнеру и прописываю ip с mac адресом.