Перейти к содержанию

Linux и Bash — сопровождение веб-приложения

Все курсы · Учебная мастерская

В этой серии создаём DeskQueue Ops — отдельную лабораторию сопровождения веб-приложения. Начинаем с файлов и командной строки, затем связываем процесс, службу, журнал и сетевой ответ. В последних уроках собираем ограниченные диагностические пакеты, описываем расписание и восстанавливаем учебную файловую копию.

Серия содержит 16 последовательных уроков. Пример развивается на Ubuntu Server 24.04 LTS с Bash 5.x. Первые главы используют только подготовленные файлы; работа с настоящим API требует отдельно подготовленного состояния 20 курса Node.js и PostgreSQL. Команды здесь относятся к своей Linux-машине и собственной лаборатории.

До начала

Понадобятся отдельная Linux-машина или виртуальная машина, терминал и понимание файлов проекта. Установка системы не входит в эту серию. Терминал macOS и контейнер без обычного systemd могут иметь другой договор команд и служб. Выбранный профиль помогает объяснять результаты последовательно.

Распакуйте полные файлы лаборатории в deskqueue-ops своего пользователя: внутри должен появиться каталог ops-lab. В нём есть исходные синтетические данные, настройки, сценарии, шаблоны наблюдений и состояния уроков. Архив не устанавливает службу, не создаёт системных пользователей и не запускает программы автоматически.

Основы рабочего места

Урок Тема Результат
1 Лаборатория и командная строка Устанавливаем каталог, оболочку, происхождение команд и справку
2 Файлы, метаданные и ссылки Различаем имя, содержимое, тип и направление текущего выпуска
3 Ввод, вывод и ошибки Сохраняем stdout, stderr и статус раздельно
4 Выборочное чтение журналов Находим фрагмент и сохраняем его контекст
5 Отчёт по учебному журналу Обрабатываем поля TSV и понимаем границы сводки
6 Пользователи, группы и стартовые файлы Описываем роли оператора и службы, изучаем /etc/skel
7 Права файлов, umask и SSH-ключи Связываем доступ с назначением файлов и каталогов
8 Процессы, задания и сигналы Различаем PID, job, остановку и завершение

Наблюдение веб-приложения

Урок Тема Результат
9 Служба и её журнал Читаем договор systemd и различаем запуск с готовностью
10 Адреса, порты и HTTP Разделяем DNS, сокет, локальный ответ и внешний маршрут
11 Нагрузка, память и медленные ответы Связываем показатели во времени и выбираем следующий вопрос
12 Место и файловая копия Различаем df, du, состав архива и копию состояния

Для главы 9 нужен отдельный Node-проект, его база и настроенные зависимости. Подготовленные системные файлы остаются шаблонами, пока читатель не создаст предпосылки в своей машине. /health описывает процесс, /ready учитывает доступность базы. Учебный адрес deskqueue.example.com не является настроенным доменом лаборатории.

Повторяемые операции

Урок Тема Результат
13 Bash: параметры и результат Задаём аргументы, quoting, условия и статусы
14 Ограниченный сбор данных Собираем пакет наблюдений с ограничением времени и попыток
15 Сбор по расписанию Описываем окружение, блокировку и один способ запуска
16 Копия и восстановление Проверяем замысел копирования и восстанавливаем в отдельный каталог

Как читать результаты

Входная таблица содержит искусственные данные, а папка evidence начинается с незаполненных шаблонов. Значения в объяснениях являются ожидаемыми или рассчитанными из этого набора. Учебные команды, служба и сценарии при подготовке материалов не запускались. Их работоспособность ещё предстоит проверять отдельным этапом перед публикацией.

Диагностический документ разделяет полученные данные, гипотезу и следующий шаг. Отсутствие службы, неподходящее разрешение и пустой срез журнала имеют разные причины; в каждом уроке обсуждаем, что именно подтверждает выбранное наблюдение. Этот способ рассуждения остаётся полезным и после замены учебного API собственным приложением.

Связанные маршруты

Деплоймент и сопровождение объясняет выпуск, домен, HTTPS и откат. Docker разбирает изоляцию окружения и порты контейнеров. GitLab CI/CD помогает организовать подготовку артефакта. Эта серия дополняет их наблюдением конкретной Linux-машины и ограниченными операциями оболочки.