В вашем случае (1 выделенный сервер) не нужно виртуализации и, тем более, Docker (он для других целей предназначен).
Ставьте nginx + php-fpm, настройте upstreams в nginx и pools в php-fpm для каждого проекта исходя из потребностей.
Для удобного деплоя приложений, в том числе написанных на php, есть масса инструментов (например
deployer.org/). Или Jenkins, если умеете его "готовить". С его помощью еще и CI можно организовать.
Для предотвращения потери данных (в контексте БД) - это репликация + регулярные бэкапы. Но есть один момент - для репликации нужна еще как минимум одна отдельная физическая slave-нода. Делать просто бэкапы без репликации - это гарантированная потеря данных в случае отказа железа. По хорошему БД вообще на отдельные ноды лучше вынести, если есть возможность. При таком подходе желательно, чтобы у вашего поставщика услуг была внутренняя сеть внутри датацентра хотя бы 1 Гбит.
Как-то так. Как показывает практика, этого вполне достаточно для проектов с невысокой нагрузкой.