Урок 2 из 8 · 20 мин · обновлено

Фундамент: Linux и сети

Что DevOps-инженеру нужно знать о Linux и сетях: подключение по SSH с ключом, службы и их журналы, порты, DNS и балансировщик нагрузки.

Почему всё начинается с Linux

Сервер «Чайной лавки», как и подавляющее большинство серверов в интернете, работает на Linux. Контейнеры, Kubernetes, конвейеры сборки — всё это тоже Linux внутри. DevOps-инженер проводит в терминале большую часть дня, поэтому уверенная командная строка — не пожелание, а обязательное условие.

Основы — файлы, права, процессы, конвейеры команд — подробно разобраны в курсе «Командная строка и Linux». Здесь — то, без чего не обойтись при работе с серверами.

SSH: вход на сервер

На серверы подключаются по SSH — защищённому соединению. Вместо пароля используют ключи: пара файлов, где закрытый ключ остаётся у вас, а открытый кладут на сервер.

Терминал
ssh-keygen -t ed25519
ssh-copy-id deploy@203.0.113.25
ssh deploy@203.0.113.25
Результат
Welcome to Ubuntu
deploy@shop:~$

Первая команда создаёт ключи, вторая копирует открытый ключ на сервер, третья подключается. После этого вход по паролю на сервере обычно отключают — ключ невозможно подобрать перебором.

Службы и журналы

Сайт, база данных, веб-сервер — всё это службы, которые работают в фоне. Управляют ими через systemctl:

Терминал
sudo systemctl status nginx
Результат
● nginx.service - A high performance web server
     Active: failed (Result: exit-code) since Tue 2026-10-27 09:12:04 MSK

Служба упала. Почему — смотрим в её журнале:

Терминал
sudo journalctl -u nginx -n 5
Результат
nginx: [emerg] unknown directive "server_nmae" in /etc/nginx/sites-enabled/shop:3

Опечатка в настройках: server_nmae вместо server_name. Исправляем, проверяем и перезапускаем:

Терминал
sudo nginx -t
sudo systemctl restart nginx

Половина работы при сбоях — именно это: найти журнал, прочитать ошибку, понять причину.

Сети: минимум для DevOps

  • IP-адрес и порт — куда идёт соединение: сайт обычно на портах 80 и 443, база данных — на своём порту, закрытом от интернета.
  • DNS — превращает имя сайта в IP-адрес. При переезде на новый сервер меняют DNS-запись, и пользователи постепенно начинают ходить по новому адресу.
  • Балансировщик нагрузки — когда серверов несколько, он распределяет между ними запросы и перестаёт отправлять их на упавший сервер.
  • HTTPS-сертификаты — их нужно вовремя продлевать, иначе браузеры покажут пользователям предупреждение. Продление тоже автоматизируют.

Подробнее о портах и протоколах с точки зрения защиты — в уроке о сетях курса «Специалист по кибербезопасности».

Попробуйте сами. Пользователи пишут, что сайт «Чайной лавки» не открывается. Вы подключились к серверу. Составьте список из 4–5 проверок в том порядке, в котором будете их делать.

Пример ответа
  1. systemctl status nginx — запущен ли веб-сервер?
  2. Если упал — journalctl -u nginx и прочитать ошибку.
  3. Если запущен — проверить приложение сайта тем же способом: работает ли служба, что в её журнале.
  4. df -h — не закончилось ли место на диске: частая причина, по которой службы перестают работать.
  5. Проверить снаружи, отвечает ли сайт по HTTPS и не истёк ли сертификат.

Мини-тест · 4 вопроса

Проверьте себя

Выберите вариант, который кажется вам правильным. В конце вы увидите свой результат и объяснение к каждому вопросу.

  1. Как безопаснее всего подключаться к серверу?

  2. Сайт на сервере не отвечает. Какой командой проверить, запущена ли служба nginx?

  3. Для чего нужен балансировщик нагрузки?

  4. Где смотреть, почему служба не запустилась?