Два урока теории позади — пора запускать. Есть два способа установить 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 одинакова в обоих случаях.