Nginx: встановлення та ваш перший сайт
Як встановити Nginx на Millida VDS, віддати свою першу сторінку за власною адресою і не зламати конфігурацію через одруківку.
Оновлено 23 серпня 2026 р.
Nginx — найпоширеніший вебсервер: він віддає статичні файли й проксіює запити до застосунків. На будь-якому тарифі VPS він займає десятки мегабайтів пам'яті, тож вистачить навіть VDS-1.
Встановлення
Підключіться до машини через SSH (команда є на вкладці «Огляд» у панелі /hosting/vds/m/<id>) і встановіть пакет.
apt update && apt install -y nginx # Debian, Ubuntu
dnf install -y nginx && systemctl enable --now nginx # AlmaLinux, CentOS Stream
Перевірте, що служба запущена:
systemctl status nginx
curl -I http://127.0.0.1
Тепер відкрийте в браузері публічну адресу машини — вона показана в «Огляді». Має з'явитися вітальна сторінка Nginx.
Ваш перший сайт
Не редагуйте типовий файл — створюйте окремий конфіг для кожного сайту. Так їх легше вмикати й вимикати.
mkdir -p /var/www/example.ru
echo '<h1>Works</h1>' > /var/www/example.ru/index.html
chown -R www-data:www-data /var/www/example.ru
server {
listen 80;
server_name example.ru www.example.ru;
root /var/www/example.ru;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Збережіть це у /etc/nginx/sites-available/example.ru (на AlmaLinux — /etc/nginx/conf.d/example.ru.conf) і увімкніть:
ln -s /etc/nginx/sites-available/example.ru /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
nginx -t — обов'язковий крок. Він перевіряє синтаксис перед перезавантаженням; без нього помилка в дужці покладе одразу всі сайти.
Домен і сертифікат
Спрямуйте A-запис домену на адресу машини з «Огляду». Поки запис не пошириться, сайт доступний лише за IP. Зворотний запис (PTR) налаштовується на вкладці «Доступ»; він не впливає на роботу сайту — лише на репутацію пошти.
Далі встановіть безкоштовний сертифікат: Let's Encrypt. Без нього браузери показують «Не захищено».
Типові помилки
| Симптом | Причина | Що робити |
|---|---|---|
403 Forbidden | Немає прав на каталог або немає index.html | chown -R www-data:www-data /var/www/..., перевірте index |
502 Bad Gateway | Застосунок за проксі не запущений | systemctl status вашої служби, див. зворотний проксі |
| Відкривається інший сайт | Запит не збігся з жодним server_name і потрапив у перший блок | Явно задайте server_name, приберіть default_server із зайвого конфігу |
| Порт 80 зайнятий | Уже встановлено Apache | Вимкніть його: systemctl disable --now apache2 |
Перевіряйте логи в /var/log/nginx/error.log — саме там лежить причина майже будь-якої відповіді 500.
Перезапускайте Nginx через
systemctl reload, а неrestart: reload підхоплює конфігурацію, не розриваючи відкриті з'єднання.