2010-10-06 3 views
0

Для моего следующего проекта я буду использовать автоматическое развертывание с git. Я могу запустить shellscript до и после развертывания. Можно ли автоматически установить «обслуживание» с помощью оболочки?Как установить сайт в режиме обслуживания через shell-script?

В моем .htaccess я бы проверил, установлена ​​ли переменная сервера для развертывания или нет, чтобы выполнить переписывание на обслуживание?

Возможно ли это, и как я должен справиться с этим?

+0

Что вы имеете в виду под " режим обслуживания "? Следует ли отключить веб-сервер в автономном режиме или перенаправить пользователя на специальную страницу или что-то еще? Должен ли он реализовываться в коде сценария или в программном обеспечении веб-сервера? –

+0

Не в автономном режиме, но временная перезапись для «целевой страницы» с сохранением URL-адреса, который он запрашивал, поэтому обновление страницы приводит пользователя, где он хочет быть (после развертывания) –

ответ

1

У вас может быть проверка .htaccess на наличие файла с определенным именем, и если он существует, переадресуйте его на статическую страницу «пожалуйста, держите». Затем, в вашем предыдущем скрипте, чтобы поместить сайт в режим обслуживания, вы просто касаетесь файла. В вашем после сценария, rm это.

Пример:

RewriteCond /path/to/maintmode -f 
RewriteRule ^(.*)$ maintpage.htm?frompage=$1 [L] 

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

touch /path/to/maintmode 

Чтобы восстановить жить режим:

rm /path/to/maintmode 
+0

Что делать, если страница обслуживания не просто " Извините, для ... ", но полная HTML-страница с CSS, изображениями, ... –

+0

То же самое, не имеет значения. Просто используйте существование файла в качестве триггера для перенаправления, неважно, насколько проста/сложна целевая страница. –

Смежные вопросы