Сервер на Node.js?
С node.js все наоборот, у него веб-сервер "внутри" приложений, а не приложения "внутри" веб-сервера. Каждое приложение само и является веб-сервером. Чтобы сделать виртуалхосты, хостить много сайтов, обрабатывать много доменов, нужно запустить много экземпляров ноды и связать весь этот зоопарк в один пучок через nginx. Если каждое приложение предполагает приличную нагрузку, то нужно каждое распараллеливать при помощи cluster и потом эти кластеры уже объединять через nginx. В результате, если у Вас будет 20 сайтов на машине, то это минимум 20 процессов ноды, а то и все 100. Есть альтернативное решение - сервер приложений, который перевлрачивает мир обратно с головы на ноги, т.е. на модель "внутри" сервера приложений много приложений: habrahabr.ru/post/247543
Начните использовать Docker+Dokku, поднемите там балансеровщик haproxy или nginx. Все работает практически из коробки.