Назад | Перейти на главную страницу

Как лучше всего атомарно добавлять файлы в веб-каталог?

Итак, у меня странный вопрос, но я работаю над сценарием для развертывания кодовой базы PHP и хочу посмотреть, возможно ли что-то подобное:

У меня есть каталог, который Apache использует как DocumentRoot:

/home/www/

У нас есть приложение PHP, которое должно добавить в этот каталог несколько файлов и каталогов.

В настоящее время мы делаем это, SCP загружает tar-файл и распаковывает его в / home / www. Я хочу сделать это лучше, потому что, когда мы извлекаем файлы, наше приложение PHP получает некоторые ошибки разрешений на чтение. Я бы хотел обновить этот файл атомарно внутри /home/www (и желательно «сразу»)

Есть ли способ сделать это без создания символической ссылки на каждый файл / каталог, который я извлекаю в веб-каталог?

Обычно я настраиваю что-то вроде этого.

/var/www/version1
/var/www/version2
/var/www/production (document root, symlink -> current version)

Таким образом, вы просто загружаете в новый каталог, после завершения загрузки настраиваете свою символическую ссылку, и все сразу меняется.

Когда приложения спроектированы таким образом, чтобы отделить код от приложения (как они должны!), то жизнь намного сложнее. Возможно, вам придется что-то сделать с unionfs.