Урок 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 проверок в том порядке, в котором будете их делать.
Пример ответа
systemctl status nginx— запущен ли веб-сервер?- Если упал —
journalctl -u nginxи прочитать ошибку. - Если запущен — проверить приложение сайта тем же способом: работает ли служба, что в её журнале.
df -h— не закончилось ли место на диске: частая причина, по которой службы перестают работать.- Проверить снаружи, отвечает ли сайт по HTTPS и не истёк ли сертификат.
Мини-тест · 4 вопроса
Проверьте себя
Выберите вариант, который кажется вам правильным. В конце вы увидите свой результат и объяснение к каждому вопросу.
-
Как безопаснее всего подключаться к серверу?
Ключ невозможно подобрать перебором, как пароль. Поэтому вход по паролю на серверах обычно отключают.
-
Сайт на сервере не отвечает. Какой командой проверить, запущена ли служба nginx?
systemctl управляет службами: показывает их состояние, запускает, останавливает и перезапускает.
-
Для чего нужен балансировщик нагрузки?
Если серверов несколько, балансировщик отправляет каждый запрос на свободный и перестаёт слать запросы на сломанный.
-
Где смотреть, почему служба не запустилась?
Служба пишет в журнал, что пошло не так: ошибку в настройках, занятый порт, нехватку прав.