Как грамотно «переехать» на Nginx+Apache?
ну а как иначе? 80й - то порт один, не поделишь
1) ставишь nginx на 8080 или 81 или какой хочешь
2) ручками пишешь все конфиги в один файл или бьешь его на части как угодно в папке sites-enabled (необязательно по именам доменов называть, но, понятно, что так проще поддерживать), но по-быстрому можно и в одну простыню копипаст
3) в конфигах прописываешь откуда дергать статику каждому домену и прокси на Апач
4) тестируешь, меняешь порты с Апачем местами
Тебе придется прописывать каждому сайту конфиг. Можно написать небольшой скрипит на bash, скормить ему образец, по которому он будет формировать основной коняги(или несколько, по именам сайтов). Скрипт написать, потребуется минут 10-15 от силы, а руками переписывать каждый конфиг, куда дольше. Да еще и запутаться просто и ткнуть не то.
логика такая:
1. Запускаешь парсинг конфига апача, выдергиваешь из него имена сайтов и складываешь во временный файлик $file=/tmp/$RANDOM
2. Запускаешь цикл, в котором опрашиваешь созданный файл $file и считываешь построчно каждый сайт, записывая в переменную, скажем $domainname.
3 внутри цикла, копируешь содержимое исходного файла конфига nginx с заменой определенного выражения внутри конфига, скажем DOMAIN_NAME, на значение переменной $domainname.
Подготовительные работы: Создание исходного конфига, внутри которого вместо адреса сайта добавлено кодовое слово, скажем DOMAIN_NAME, которое мы впоследствии, с помощью sed сможем заменить.