Два урока теории позади — пора запускать. Есть два способа установить Nginx: нативно на Linux и через Docker. Выберите тот, который подходит для вашей ситуации. Способ 1: нативная установка на Ubuntu/Debian**

Если вы работаете на Linux (или на Windows через WSL) — это самый прямой путь. Одна команда:

sudo apt update && sudo apt install -y nginx

Готово. Nginx установлен и уже запущен. Проверим:

sudo systemctl status nginx
● nginx.service - A high performance web server
     Active: active (running) since Mon 2026-03-27 10:00:00 UTC
     ...

Статус active (running) — Nginx работает. Откройте браузер и перейдите на http://localhost. Вы увидите страницу «Welcome to nginx!» — стандартную заглушку, подтверждающую, что всё работает.

Или через терминал:

curl http://localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...

Основные команды управления:

sudo systemctl start nginx     # Запустить
sudo systemctl stop nginx      # Остановить
sudo systemctl restart nginx   # Перезапустить
sudo systemctl reload nginx    # Перечитать конфигурацию (без перезапуска)
sudo nginx -t                  # Проверить конфиг на ошибки

reload — самая важная. Она перечитывает конфигурацию без остановки Nginx — текущие соединения не обрываются. Мы будем использовать её постоянно: поменяли конфиг → nginx -t (проверка) → reload (применение).

Способ 2: через Docker**

Если вы работаете на Windows/macOS без WSL, или не хотите ставить ничего на систему — Docker. Одна команда:

docker run -d --name nginx-dev -p 8080:80 nginx:alpine

Nginx запущен в контейнере. Откройте http://localhost:8080 — та же страница «Welcome to nginx!».

Почему порт 8080, а не 80? На Windows и macOS порт 80 часто занят системными сервисами. 8080 — стандартная альтернатива для разработки.

Управление через Docker:

docker stop nginx-dev      # Остановить
docker start nginx-dev     # Запустить
docker rm -f nginx-dev     # Удалить

Чтобы подключить свои файлы (DevPortfolio) и конфигурацию:

docker run -d --name nginx-dev \
  -p 8080:80 \
  -v ./site:/usr/share/nginx/html:ro \
  -v ./nginx.conf:/etc/nginx/conf.d/default.conf:ro \
  nginx:alpine

-v ./site:/usr/share/nginx/html:ro — монтирует папку с вашими HTML-файлами. :ro — read-only, Nginx только читает.

Какой способ выбрать?**

Нативная установка              Docker
────────────────────────        ────────────────────────
Ubuntu/Debian/WSL               Любая ОС
Прямой доступ к файлам          Файлы через volume
systemctl для управления        docker start/stop
Стандарт для продакшена         Стандарт для разработки
Конфиги в /etc/nginx/           Конфиг монтируется через -v

Для обучения оба варианта равнозначны — команды Nginx одинаковые. В курсе мы будем показывать примеры для нативной установки, но все конфигурации работают и в Docker — просто путь к файлу монтируется через -v.

Нативная установка (Ubuntu): sudo apt install nginx. Управление: systemctl start/stop/reload nginx. Проверка конфига: nginx -t.

Docker: docker run -d -p 8080:80 nginx:alpine. Файлы и конфиг монтируются через -v.

reload — перечитать конфигурацию без остановки (соединения не обрываются). Всегда проверяйте конфиг через nginx -t перед reload.

Нативная установка — для продакшена и Linux. Docker — для разработки и любой ОС. Конфигурация Nginx одинакова в обоих случаях.

Обсуждение урока

0
Комментарии видны всем. Чтобы участвовать в обсуждении, войдите или зарегистрируйтесь.
Модерация сообщества

Пожаловаться на комментарий

Расскажите модераторам, что именно требует внимания.