Есть ли у кого-нибудь отличная система или какие-либо идеи для того, чтобы делать, как говорится в названии?
Я хочу переключить рабочую версию веб-приложения - написанную на PHP и обслуживаемую Apache - с выпуска 1234 на выпуск 1235, но до того, как это произойдет, все файлы уже находятся в кэше кода операции (APC). Затем после переключения удалите старые записи кэша для файлов из выпуска 1234.
Насколько я могу судить, существует три простых способа атомарного переключения с одной версии на другую.
- Иметь символическую ссылку, например / live, которая всегда является корнем документа, но изменена для указания одной версии на другую.
Аналогично, у вас есть каталог / live, который всегда является корнем документа, но используйте
Mv Live Oldversion && Mv Newversion Live
для перехода на новую версию.
- Отредактируйте конфигурацию apache, чтобы изменить корень документа на newversion, а затем перезапустите apache.
Я думаю, что лучше не делать 3, но я не могу придумать, как прекомпилировать все php-файлы И использовать 1 или 2 для переключения релиза.
Так может ли кто-нибудь убедить меня, что можно положиться на вариант 3, или подсказать, как работать с 1 или 2, или раскрыть какой-то другой вариант, о котором я не думаю?