FB pixel

Налаштування Nginx на VPS: покрокова інструкція

3 16.08.2025

Nginx — це потужний і легкий вебсервер, який часто використовують як зворотний проксі, балансувальник навантаження та хостинг для статичних файлів. Для власників сайтів, вебмайстрів і початківців-програмістів налаштування Nginx на VPS відкриває широкі можливості керування трафіком, прискорення завантаження сторінок і забезпечення безпеки. У цій статті ми детально розглянемо встановлення, налаштування й оптимізацію Nginx для повноцінної роботи на віртуальному сервері.

Підготовка сервера

На першому етапі потрібно підготувати VPS до встановлення. Підключіться до сервера через SSH з правами адміністратора. Оновіть систему до актуального стану:

sudo apt update && sudo apt upgrade

Переконайтесь, що у вас є root-доступ або можливість використовувати sudo. Перевірте наявність вільного місця на диску та визначте, у якій директорії будете розміщувати свої проєкти (найчастіше використовується /var/www).

Встановлення Nginx

Встановлення Nginx на популярних дистрибутивах Linux (наприклад, Ubuntu) виконується однією командою:

sudo apt install nginx

Після завантаження й встановлення пакета перевірте, чи працює вебсервер:

sudo systemctl status nginx

Якщо все правильно, ви побачите повідомлення про активну службу. Nginx одразу починає обробляти запити на порт 80, і при зверненні до IP-адреси VPS у браузері відкриється стартова сторінка.

Налаштування брандмауера

Щоб Nginx був доступний ззовні, переконайтесь, що на сервері відкритий HTTP- і HTTPS-трафік. При використанні UFW дозвольте потрібні порти:

sudo ufw allow 'Nginx Full'

Якщо брандмауер ще не активовано, увімкніть його командою sudo ufw enable і перевірте статус: sudo ufw status.

Запуск і керування Nginx

Керування процесами сервера здійснюється за допомогою стандартної системної утиліти systemctl. Основні команди:

  • Перезапуск: sudo systemctl restart nginx
  • Зупинка: sudo systemctl stop nginx
  • Запуск: sudo systemctl start nginx
  • Перевірка конфігурації: sudo nginx -t

Ці команди дозволяють оперативно застосовувати зміни й контролювати роботу Nginx на будь-якому етапі.

Налаштування віртуальних хостів (server blocks)

Щоб кожен сайт працював зі своїм доменом, використовується механізм server blocks (аналог віртуальних хостів). Створіть нову папку проєкту:

sudo mkdir -p /var/www/example.com/html

Потім створіть новий конфігураційний файл у /etc/nginx/sites-available/example.com і додайте блок:

server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html;

location / {
try_files $uri $uri/ =404;
}
}

Активуйте конфігурацію командою:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Після цього перезапустіть сервіс: sudo systemctl reload nginx.

Налаштування HTTPS з Let's Encrypt

Для безпечного з’єднання й довіри з боку браузерів необхідно підключити SSL-сертифікат. Встановіть утиліту Certbot:

sudo apt install certbot python3-certbot-nginx

Запустіть автоматичне налаштування HTTPS:

sudo certbot --nginx -d example.com -d www.example.com

Certbot сам змінить конфігурацію Nginx, додасть 301-перенаправлення на HTTPS і встановить сертифікати. Щоб подовження відбувалося автоматично, додайте задачу в crontab або покладіться на вбудовану систему оновлення.

Оптимізація продуктивності

Для прискорення відповіді сервера й зменшення навантаження корисно ввімкнути стиснення й кешування. У головному конфігураційному файлі /etc/nginx/nginx.conf переконайтесь, що увімкнені наступні директиви:

gzip on;
gzip_types text/plain application/javascript text/css;

Також можна задати кешування статичних файлів:

location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
access_log off;
}

Це прискорить завантаження сайту й зменшить повторні запити від користувачів.

Тестування конфігурації та перезапуск Nginx

Після внесення будь-яких змін завжди перевіряйте синтаксис конфігурації:

sudo nginx -t

Якщо все в порядку, перезапустіть або перезавантажте сервер:

sudo systemctl reload nginx

Також перевірте роботу в браузері, ввівши домен або IP-адресу. Переконайтесь, що відкривається потрібна сторінка, правильно працюють статичні ресурси (зображення, стилі, скрипти).

Висновок

Налаштування Nginx на VPS це важливий етап для забезпечення стабільної й швидкої роботи сайту. За допомогою Nginx можна обробляти як прості HTML-сторінки, так і проксирувати трафік до backend-додатків, наприклад, на FastAPI або Python. Сервер легко адаптується під задачі будь-якого рівня — від лендінгу до складного корпоративного порталу. Головне дотримуватись логіки налаштування, тестувати конфігурації й регулярно оновлювати систему. Такий підхід забезпечить високу продуктивність, безпеку й масштабованість вашого проєкту.

Дізнайтесь більше як купити домен, хостинг, VPS або виділений сервер.

FAQ

Як захистити Nginx від DDoS-атак?

Можна використовувати обмеження швидкості запитів, обмеження кількості з’єднань з однієї IP-адреси, а також модуль ngx_http_limit_req_module. Також рекомендується використовувати брандмауер і CDN для фільтрації трафіку.

Як налаштувати брандмауер для Nginx?

Можна налаштувати для фільтрації вхідного трафіку, блокування підозрілих IP-адрес і обмеження кількості з’єднань. Використовуйте iptables або ufw на Linux, або брандмауер вашої операційної системи.

Як налаштувати Nginx як зворотний проксі?

Nginx може використовуватись як зворотний проксі для перенаправлення запитів до інших серверів. Для налаштування зворотного проксі потрібно використовувати директиву proxy_pass у конфігураційному файлі.