Шаг 6 из 7 · лаба · 20 мин
Сайт сломался после выкладки
Книжный магазин после очередной выкладки отвечает ошибкой 500 на любой адрес. Верни сайт на прежний рабочий релиз так, чтобы посетители не заметили переключения, и сохрани сбойный релиз для разбора.
Ситуация
Пришёл алерт: книжный магазин books.lab.test отвечает ошибкой 500. Главная, страницы каталога, даже файлы
оформления — всё отдаёт 500. Посетители заходят на сайт прямо сейчас.
Сайт — статика на nginx. Его выкладывает CI: каждый релиз распаковывается в свой каталог
/srv/books/releases/<версия>, а nginx отдаёт файлы из /srv/books/current.
Задача
Сначала верни сайт в строй, причину разберут потом.
- Сайт снова работает на том релизе, который отдавал страницы до сбоя:
/srv/books/current— ссылка на этот релиз. - Все адреса
http://books.lab.test/отвечают 200. - Посетители не теряют ни одного ответа: nginx не перезапускают и не останавливают.
- Сбойный релиз остаётся в
releases/нетронутым — по нему будут разбирать сбой.
Ограничения
- Конфигурацию nginx не меняй: сайт по-прежнему отдаётся из
/srv/books/current. - Файлы релизов не правь.
Журналы nginx читаются через
sudo. Интернета на машине нет.
Лаба · самостоятельно
Команды в этой лабе не даны: набирай их в терминале сам. Цели проверяются на машине после каждой команды.
Цели
0 из 4-
/srv/books/current — ссылка на релиз, который работал перед сбойной выкладкой — ещё не выполнена
-
Серия запросов к http://books.lab.test/ во время проверки — все ответы 200, страницы от этого релиза — ещё не выполнена
-
nginx не перезапускали и не останавливали — только перечитали; конфигурация сайта прежняя — ещё не выполнена
-
Сбойный релиз лежит в releases/ нетронутым — для разбора — ещё не выполнена
Машина запускается
Подсказки
0 из 3Цели лабы
0 из 4-
/srv/books/current — ссылка на релиз, который работал перед сбойной выкладкой — ещё не выполнена
-
Серия запросов к http://books.lab.test/ во время проверки — все ответы 200, страницы от этого релиза — ещё не выполнена
-
nginx не перезапускали и не останавливали — только перечитали; конфигурация сайта прежняя — ещё не выполнена
-
Сбойный релиз лежит в releases/ нетронутым — для разбора — ещё не выполнена
Цели проверяются на машине после каждой команды.