Настрока Nginx и Apache, насткройка модуля upstream?
с чисто теоретической стороны, можно упростить и запустить один Apache, который будет слушать три разных порта, конфиг nginx при этом практически не изменится (вместо разных ip будут разные номера портов) - однако, это сильно упростит вам жизнь на этапе настройки - не придётся воевать ещё и с виртуалками и их сетями.
всё это можно сделать на одной машине, например:
apache-хост-1 слушает порт 8081;
apache-хост-2 слушает порт 8082;
apache-хост-3 слушает порт 8083;
nginx слушает порт 80 и проксирует запросы на три эти апстрима;

тестовый сайт - элементарно три разных папки с файлом index.html и содержимым: <h1>808x</h1> (x заменить на соответсвующий номер)
каждый хост апача настрое на свою папку и при обращении по номеру порта в браузере будет показывать "свой" номер порта

конечный результат: при обащении через браузер на 80 порт попеременно отображаются номера портов разных апач-хостов

если отработаете этот сценарий, то разнести это всё по 4-м разным виртуалкам - задача чисто администрирования виртуалок - конфиги веб-серверов вас уже будут готовы
Если по простому, то у тебя будет одна тачка(сервер) на нём Nginx с настроенным upstream для сайта test.ru
upstream backend {
    server backend1.example.com;
    server backend2.example.com;
}

server {

    server_name test.ru;
    location / {
        proxy_pass http://backend;
    }
}
И плюс 3 тачки на каждой установлен apache и работает один и тот же сайт.
Этот конфиг nginx самый простой. На офф.сайте в документации всё понятно и подробно описаны все опции