Установка Nginx на Debian 11

Краткое описание
Nginx — быстрый и лёгкий веб‑сервер, который часто используется как обратный прокси и балансировщик нагрузки. Этот гид покажет, как установить и базово настроить Nginx на Debian 11, а также как проверить работоспособность и открыть доступ через UFW.
Требования
- Сервер с Debian 11.
- Регулярный пользователь с правами sudo.
Обновление системы
Перед установкой обновите пакеты и установите вспомогательные утилиты, которые могут понадобиться в будущем (например, для добавления репозиториев или сборки модулей):
sudo apt update -ysudo apt upgrade -ysudo apt install curl gnupg2 ca-certificates lsb-releaseНиже — пример ожидаемого вывода после обновления пакетов.


Важно: выполняйте обновления в рабочем окне обслуживания, если на сервере есть продакшн‑нагрузка.
Установка Nginx
Nginx доступен в стандартных репозиториях Debian 11. Установите его командой:
sudo apt install nginx -yПример вывода установки:


После установки служба должна запуститься автоматически.
Проверка состояния службы
Получите статус службы:
sudo systemctl status nginxОжидаемый вариант: строка Active: active (running).

Управление службой:
sudo systemctl start nginxsudo systemctl stop nginxsudo systemctl restart nginxПроверить версию Nginx:
sudo nginx -v
Проверить конфигурацию на синтаксические ошибки:
sudo nginx -t
Добавить автозапуск при загрузке:
sudo systemctl enable nginx
Настройка брандмауэра (UFW)
Если на сервере включён UFW, нужно разрешить трафик для выбранного профиля Nginx. Сначала посмотрите доступные профили:
sudo ufw app list
Профили:
- Nginx Full — порты 80 и 443
- Nginx HTTP — порт 80
- Nginx HTTPS — порт 443
Рекомендуется открывать только необходимые порты. Для базовой HTTP‑службы:
sudo ufw allow 'Nginx HTTP'Проверить статус UFW:
sudo ufw statusПример: HTTP разрешён.

Важно: если вы планируете HTTPS, вместо Nginx HTTP включите Nginx Full, но сначала получите сертификат.
Доступ к веб‑серверу
Узнайте IP сервера:
hostname -IОткройте в браузере:
http://your_server_ipВы увидите страницу приветствия Nginx.

Поздравляем — Nginx установлен и отвечает на HTTP‑запросы.
Когда установка может не работать и как диагностировать
- Служба не запускается: проверьте логи systemd и Nginx
sudo journalctl -u nginx --no-pager
sudo tail -n 50 /var/log/nginx/error.log- Порт занят другим процессом: найдите процесс
sudo ss -tulpn | grep :80Ошибка конфигурации: исправьте файлы в /etc/nginx и выполните sudo nginx -t
UFW блокирует порт: проверьте sudo ufw status и правила iptables/nftables
Альтернативные подходы к установке
- Официальный репозиторий Nginx — если нужна более новая версия или модули от Nginx:
- Добавьте официальный репозиторий Nginx и установите пакет nginx.
- Сборка из исходников — если нужны специфичные сторонние модули.
- Контейнеры Docker — быстрый развёртываемый образ без изменения хоста.
Каждый подход имеет компромиссы: стабильность пакетов Debian против свежих фич из upstream.
Быстрые рекомендации по безопасности
- Включите HTTPS с помощью certbot (Let’s Encrypt) и профиля Nginx Full.
- Отключите отображение версии: в /etc/nginx/nginx.conf установить server_tokens off;
- Ограничьте доступ к административным location и использованию методов (например, запретите TRACE).
- Регулярно обновляйте пакеты и проверяйте логи.
Пример выключения server_tokens:
http {
server_tokens off;
...
}Чеклист перед сдачей инсталляции
- Nginx установлен через apt и сервис активен
- nginx -t возвращает OK
- systemctl enable nginx выполнён
- UFW разрешает нужные профили (HTTP/HTTPS)
- Порт 80 (и 443 при HTTPS) слушаются
- Тестовая страница доступна из браузера
- Логи ошибок проверены и чисты
Критерии приёмки
- Сервис Nginx активен и отвечает на HTTP запросы
- Конфигурация проходит проверку nginx -t
- Для HTTPS — валидный сертификат и профиль UFW корректно настроен
Набор тестов приёмки
- Выполнить curl по локальному адресу:
curl -I http://127.0.0.1Ожидается код 200 и заголовок Server: nginx (если не скрыт).
Выполнить nginx -t и ожидать “syntax is ok” и “test is successful”.
Проверить автозапуск после перезагрузки:
sudo reboot
# после загрузки
sudo systemctl status nginxРоли и ответственность
- Сисадмин: установка пакета и настройка firewall
- DevOps: интеграция с CI/CD и проверка конфигураций в тестовом окружении
- Безопасность: аудит конфигурации на уязвимости и настройка HTTPS
Ментальные модели и эвристики
- Nginx как точка входа: думайте о нём как о «входной двери» для HTTP(S) и маршрутизации запросов.
- Минимум открытых портов: правило — открывать только то, что нужно.
- Тестируйте конфигурацию локально прежде чем выкладывать в прод.
Куда двигаться дальше
- Настроить HTTPS через Certbot
- Добавить виртуальные хосты в /etc/nginx/sites-available
- Настроить логирование и ротацию логов
- Рассмотреть балансировку нагрузки и кэширование
Заключение
Вы установили Nginx на Debian 11, проверили конфигурацию и открыли HTTP в брандмауэре. В документе также есть чеклист, тесты приёмки, варианты установки и базовые рекомендации по безопасности. Если нужна помощь с HTTPS, виртуальными хостами или интеграцией в CI/CD — можно продолжить руководство.
Ключевые команды установки и проверки повторно:
sudo apt update -y
sudo apt upgrade -y
sudo apt install nginx -y
sudo systemctl status nginx
sudo nginx -t
sudo systemctl enable nginx
sudo ufw allow 'Nginx HTTP'Важно: всегда делайте резервные копии конфигураций перед изменениями.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента