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. Перевірте вивід команди перед тим, як переходити до наступного кроку — створення першого сайту.