# Установка Nginx на Ubuntu и Debian: два способа и версии

> Пошагово ставим Nginx на Ubuntu и Debian: пакет из репозитория дистрибутива или официальный репозиторий nginx.org.

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](https://www.zevshost.net/ru/kb/nginx-http2-http3-quic/).

## Установка 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](https://www.zevshost.net/ru/kb/nginx-server-block-virtualnye-hosty/).

## Таблица: репозиторий дистрибутива против официального

| Параметр | Репозиторий Ubuntu/Debian | Официальный nginx.org |
| --- | --- | --- |
| Версия Nginx | Фиксируется на релизе дистрибутива | Обновляется регулярно |
| HTTP/3 и QUIC | Часто отсутствует | Доступен в свежих сборках |
| Патчи безопасности | Приходят через apt дистрибутива | Приходят напрямую от nginx.org |
| Стабильность API конфигурации | Высокая, изменений мало | Возможны новые директивы |

## Что ещё стоит поставить рядом с Nginx

Голый веб-сервер редко работает сам по себе. Для типичного сайта на PHP понадобится ещё несколько компонентов:

1. PHP-FPM и его настройка — см. статью про [настройку и оптимизацию PHP-FPM](https://www.zevshost.net/ru/kb/php-fpm-nastroika-optimizatsiya/).
2. СУБД MySQL или MariaDB для хранения данных сайта.
3. Полный стек LEMP целиком описан в статье [как установить LEMP](https://www.zevshost.net/ru/kb/ustanovit-lemp/).
4. SSL-сертификат для HTTPS — без него современные браузеры помечают сайт как небезопасный.

Если после apt install nginx команда nginx -t выдаёт ошибку, а systemctl status nginx показывает failed — почти всегда причина в занятом порту 80 или в синтаксической ошибке в /etc/nginx/nginx.conf. Проверьте вывод команды перед тем, как переходить к следующему шагу — созданию первого сайта.

---

Источник: https://www.zevshost.net/ru/kb/nginx-ustanovka-ubuntu-debian/
