Nginx можно поставить на Ubuntu и Debian двумя способами: из стандартного репозитория дистрибутива или из официального репозитория nginx.org. Разница — в версии и скорости обновлений. На VDS и выделенных серверах ZevsHost.net администраторы обычно выбирают второй вариант, если нужны свежие функции вроде HTTP/3.
Какую версию Nginx ставить
Репозиторий Ubuntu и Debian содержит версию, которая попала в дистрибутив на момент его релиза, и почти не обновляется до выхода следующего LTS. Официальный репозиторий nginx.org поставляет свежий mainline или стабильный stable-выпуск и обновляется регулярно.
Для большинства сайтов на хостинге подойдёт версия из дистрибутива: она проверена временем и получает патчи безопасности. Для HTTP/3, QUIC и новых модулей нужен официальный репозиторий — подробнее об этом в статье про HTTP/2 и HTTP/3 в Nginx.
Установка Nginx из стандартного репозитория
Самый быстрый путь — установить пакет nginx из репозитория дистрибутива. Команда одинакова для Ubuntu и Debian:
sudo apt update
sudo apt install nginx -y
sudo systemctl enable --now nginx
После установки Nginx сразу запускается и слушает порт 80. Если на сервере уже поднят Apache, конфликт портов даст ошибку bind() to 0.0.0.0:80 failed — сначала остановите Apache командой sudo systemctl stop apache2.
Подключение официального репозитория nginx.org
Чтобы получить последнюю версию, подключите репозиторий nginx.org и его GPG-ключ:
sudo apt install curl gnupg2 ca-certificates lsb-release -y
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo apt install nginx -y
Для Debian вместо ubuntu в пути пакетов укажите debian, а вместо кодового имени Ubuntu — кодовое имя своего релиза Debian. После sudo apt update система должна увидеть пакет из нового источника, а не из репозитория дистрибутива.
Проверка установки и первый запуск
После установки любым способом проверьте версию, синтаксис конфигурации и статус сервиса:
- nginx -v — показывает установленную версию.
- nginx -V — показывает версию и список модулей сборки.
- nginx -t — проверяет синтаксис конфигурации без перезапуска.
- systemctl status nginx — показывает, запущен ли сервис.
Откройте IP сервера в браузере: страница приветствия Welcome to nginx! подтверждает, что установка прошла успешно. Дальше нужно заменить дефолтный конфиг своим server block, как описано в статье про виртуальные хосты Nginx.
Таблица: репозиторий дистрибутива против официального
| Параметр | Репозиторий Ubuntu/Debian | Официальный nginx.org |
|---|---|---|
| Версия Nginx | Фиксируется на релизе дистрибутива | Обновляется регулярно |
| HTTP/3 и QUIC | Часто отсутствует | Доступен в свежих сборках |
| Патчи безопасности | Приходят через apt дистрибутива | Приходят напрямую от nginx.org |
| Стабильность API конфигурации | Высокая, изменений мало | Возможны новые директивы |
Что ещё стоит поставить рядом с Nginx
Голый веб-сервер редко работает сам по себе. Для типичного сайта на PHP понадобится ещё несколько компонентов:
- PHP-FPM и его настройка — см. статью про настройку и оптимизацию PHP-FPM.
- СУБД MySQL или MariaDB для хранения данных сайта.
- Полный стек LEMP целиком описан в статье как установить LEMP.
- SSL-сертификат для HTTPS — без него современные браузеры помечают сайт как небезопасный.
Если после apt install nginx команда nginx -t выдаёт ошибку, а systemctl status nginx показывает failed — почти всегда причина в занятом порту 80 или в синтаксической ошибке в /etc/nginx/nginx.conf. Проверьте вывод команды перед тем, как переходить к следующему шагу — созданию первого сайта.