У меня большой веб-сайт, где все файлы находятся в папке public_html
.
Вот структура:
-public_html/
- app/
- public/
- vendor/
- index.php
- test /
- app /
- public/
- vendor/
- index.php
Мы работаем над новой версией. Он доступен через другой URL (test.domain.com), и все файлы находятся в папке /test
.
В тот момент, когда мы хотим применить новые изменения (доступные для domain.com), мы копируем файлы из папки test/
в корень папки public_html/
и перезаписываем существующие. Это не удобно при развертывании совершенно новой версии, потому что есть много файлов для развертывания / перезаписи, это занимает много времени, а веб-сайт в это время не доступен или не работает должным образом.
Для следующей большой версии я хотел бы попробовать что-то другое: создать символическую ссылку, которая вместо этого перенаправляет public_html/
на public_html/test/
. Таким образом, как только будет создана символическая ссылка, пользователи увидят файлы в папке test/
, которая содержит новую версию.
Этот подход работает? Я где-то читал, что мне нужно удалить папку public_html/
перед созданием символической ссылки, это правда, и есть ли способ обойти ее, если она есть?
Есть ли лучший способ сделать это и достичь «нулевого времени простоя» или совсем близко?
Если Вы действительно хотите использовать символьные ссылки, да, необходимо будет переместиться или public_html
для создания этого ссылкой. Вы могли сделать что-то как:
- public_html → production
- production
- app/
- public/
- vendor/
- index.php
- test /
- app /
- public/
- vendor/
- index.php
production
и test
и за пределами public_html
, и public_html
ссылка на production
. Затем переименуйте production
и test
по мере необходимости.