Есть ли смысл устанавливать виртуальное окружение на боевом сервере?
Если у Вас 1 проект - смысла чуть больше, чем никакого, в 99% случаев.
Если у Вас много проектов, но все они Ваши, и могут использовать одинаковое ПО, или ПО которое не мешает друг другу, или Вы владеете техникой установки сразу нескольких версий ПО (например, разные версии PHP) или при прочих подобных условиях - смысла в виртуальном окружении - так же не много.
Говоря иными словами, если Вы не знаете, зачем Вам виртуальное окружение и задачи прекрасно решаются без него - то оно Вам не нужно.
Виртуальное окружение, это не только блажь, но и новый слой абстракции на сервере. Есть ряд задач, когда крайне важно изолировать одно от другого, или например, Вам нужно сразу 10 версий MySQL-сервера, что бы протестировать какой лучше, или Вы тестируете, например, репликацию БД и эмулировать условия падения одной из серверов и т.д. - в этом случае, без виртуального окружения будет довольно сложно обойтись.
В случае же, который Вы описали (1 проект/1 сервер), попытка вкрутить туда виртуальное окружение, выглядит как попытка разделить маленькую кухню на 2-3-4..10 ещё более маленьких кухонь. Конечно, это даст некоторый положительный эффект, но проблем добавит не меньше. К тому же, виртуализация, даже самая-самая маленькая добавляет новый стек технологий, и потребляет дополнительные ресурсы (порой незначительные, но всё же потребляет), и чем "глубже" виртуализация, тем больше ресурсов машины обычно потребляется на обслуживание гипервизора.