Linux Labs

Веб-стек / Ступень 1 из 9

Как nginx выбирает сайт и файл

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 3 из 7 · на машине · 7 мин

Сайт включает ссылка

Блок сайта docs написан, но nginx его не читает. Здесь ты включишь сайт.

Главный файл /etc/nginx/nginx.conf подключает сайты строкой include /etc/nginx/sites-enabled/*;. В Ubuntu файлы сайтов лежат в /etc/nginx/sites-available/, а в sites-enabled/ — символические ссылки на те, что включены. Выключить сайт — удалить ссылку: файл остаётся на месте.

Какие имена nginx читает на самом деле, показывает nginx -T: он проверяет конфигурацию и печатает её целиком, со всеми подключёнными файлами.

bash
sudo nginx -T | grep server_name

Из имён сайтов в выводе одно — portal.lab.test; строки с # — комментарии из nginx.conf. Файл docs лежит в sites-available, а ссылки на него в sites-enabled нет.

Проверь себя 1 вопрос

Ты создал ссылку на файл docs в sites-enabled и сразу выполнил curl http://docs.lab.test/. Что он напечатает?

  • Новая ссылка не останавливает nginx: он работает со старой конфигурацией и отвечает порталом.

  • Ссылку увидит nginx -T: он читает файлы с диска. Работающий nginx прочитает её при reload, а до этого отвечает по-старому — порталом.

Работающий nginx прочитал конфигурацию при запуске и новой ссылки не видит, пока не получит reload. До этого docs.lab.test получает сервер по умолчанию — портал.

Порядок применения правки знаком по уроку о сбоях служб. Сначала sudo nginx -t: при ошибке в файле reload откажет, и nginx останется со старой конфигурацией. Потом sudo systemctl reload nginx — nginx перечитает файлы, не обрывая открытые соединения. Последним — запрос к сайту по имени: удачный nginx -t говорит только о синтаксисе файлов, а какой блок ответит на имя сайта, покажет curl.

Упражнение · сделать

Верни документации её имя

Сделай так, чтобы http://docs.lab.test/ открывал документацию. Портал должен отвечать по-прежнему, файлы в /srv/www не трогай.

Войти и начать Машина доступна после входа

Цели · 0 из 2

  • Открыть документацию по её имени ещё не выполнена
  • Сохранить ответ портала ещё не выполнена

Цели шага

0 из 2
  • Открыть документацию по её имени — ещё не выполнена
  • Сохранить ответ портала — ещё не выполнена
Ubuntu 24.04

Цели шага

0 из 2
  • Открыть документацию по её имени — ещё не выполнена
  • Сохранить ответ портала — ещё не выполнена
Загрузка…