Шаг 5 из 6 · лаба · 25 мин
Сайт отдаёт 500
Сайт бронирования гостиницы с какого-то момента отвечает гостям ошибкой 500, а в error.log nginx пусто. Установи по логам, когда начался сбой и что его вызвало, запиши это и верни сайт в строй.
Ситуация
Сайт бронирования гостиницы — http://booking.lab.test/: nginx принимает запросы и передаёт их приложению
lab-booking. Гости пишут, что сайт отвечает «500 Internal Server Error». Дежурный уже открыл error.log сайта —
там пусто. Руководитель просит короткий отчёт: с какого момента сайт сломан и какая строка в логах это объясняет.
И сайт надо вернуть.
Логи сайта — /var/log/nginx/booking.access.log и /var/log/nginx/booking.error.log; приложение пишет в журнал
systemd. И те и другие читаются через sudo.
Задача
- Запиши в
~/incident.txt: - первой строкой — время начала сбоя с точностью до секунды (с этого момента сайт отдаёт 500) в виде, как в журнале или в access.log:2026-10-22 04:41:25или22/Oct/2026:04:41:25; - ниже — строку из журнала приложения, которая показывает причину ответов 500. http://booking.lab.test/снова отвечает200, и страницу отдаёт приложениеlab-booking.- Сайт отвечает
200и после перезапуска приложения:sudo systemctl restart lab-booking.
Ограничения
- Код приложения
/opt/booking/booking.pyне меняй — причину ищи и устраняй в его настройках. - Проверка сама перезапускает
lab-bookingи запрашивает сайт с меткой в адресе: ответ должно дать приложение, а не nginx.
Посетители заходят на сайт и пока ты разбираешься — в логах прибавляются строки.
Лаба · самостоятельно
Команды в этой лабе не даны: набирай их в терминале сам. Цели проверяются на машине после каждой команды.
Цели
0 из 4-
http://booking.lab.test/ отвечает 200 — страницу отдаёт приложение lab-booking, его код не изменён — ещё не выполнена
-
В первой строке ~/incident.txt — время начала сбоя с точностью до секунды, с этого момента сайт отдаёт 500 — ещё не выполнена
-
В ~/incident.txt есть строка из журнала приложения, которая показывает причину ответов 500 — ещё не выполнена
-
Сайт отвечает 200 и после перезапуска приложения: sudo systemctl restart lab-booking — ещё не выполнена
Машина запускается
Подсказки
0 из 3Цели лабы
0 из 4-
http://booking.lab.test/ отвечает 200 — страницу отдаёт приложение lab-booking, его код не изменён — ещё не выполнена
-
В первой строке ~/incident.txt — время начала сбоя с точностью до секунды, с этого момента сайт отдаёт 500 — ещё не выполнена
-
В ~/incident.txt есть строка из журнала приложения, которая показывает причину ответов 500 — ещё не выполнена
-
Сайт отвечает 200 и после перезапуска приложения: sudo systemctl restart lab-booking — ещё не выполнена
Цели проверяются на машине после каждой команды.