Блог компанії 3v-Hosting
Як встановити Nginx на Ubuntu 22.04
6 хв.
Nginx (вимовляється як «engine-x») - це потужний і високопродуктивний веб-сервер. Він використовується для обслуговування статичного і динамічного веб-контенту, виступає як зворотний проксі та керує балансуванням навантаження. Легка архітектура і багатий набір функцій роблять його популярним вибором для розробників, системних адміністраторів і хостинг-провайдерів. У цій статті ви знайдете докладний посібник зі встановлення Nginx на Ubuntu 22.04, включно з основними конфігураціями, порадами щодо усунення несправностей і практичними прикладами використання.
Що таке Nginx та сфери його застосування
Перш ніж приступити до процесу встановлення, зрозумійте роль Nginx у сучасному веб-хостингу. Nginx - це універсальне програмне забезпечення, здатне ефективно обробляти одночасні з'єднання, що робить його ідеальним для сайтів із високою відвідуваністю. Він може функціонувати як:
- Веб-сервер для розміщення веб-сайтів і обслуговування статичних файлів.
- Зворотний проксі-сервер для маршрутизації клієнтських запитів до внутрішніх серверів.
- Балансувальник навантаження для розподілу трафіку між кількома серверами.
- Кешуючий сервер для підвищення продуктивності сайту.
Модульна архітектура Nginx дає змогу адміністраторам безперешкодно вмикати такі функції, як HTTP/2, шифрування SSL/TLS і стиснення контенту. Це робить його наріжним каменем веб-інфраструктури.
Підготовка системи до встановлення Nginx
1. Оновлення індексу пакетів
Перед встановленням будь-якого програмного забезпечення переконайтеся, що індекс пакетів вашої системи оновлено. Використовуйте наступні команди для оновлення та модернізації системи:
sudo apt update
sudo apt upgrade -y
Оновлення індексу пакетів гарантує, що ви отримаєте останню версію Nginx, доступну в репозиторії Ubuntu.
2. Встановлення попередніх умов
Переконайтеся, що curl, wget та інші базові інструменти доступні у вашій системі для перевірки конфігурації та тестування Nginx після встановлення:
sudo apt install curl wget -y
Встановлення Nginx на Ubuntu 22.04
Крок 1: Встановіть Nginx
Ubuntu 22.04 включає Nginx у репозиторії пакетів за замовчуванням. Щоб встановити Nginx, скористайтеся менеджером пакетів apt:
sudo apt install nginx -y
Після завершення встановлення служба Nginx запуститься автоматично. Ви можете перевірити її статус, використовуючи:
sudo systemctl status nginx
Результат повинен показати, що служба запущена.
Крок 2: Налаштування параметрів брандмауера
Якщо ви використовуєте стандартний UFW-брандмауер Ubuntu, вам необхідно дозволити HTTP- і HTTPS-трафік для коректної роботи Nginx. Використовуйте наступні команди, щоб увімкнути необхідні правила:
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status
Виведення статусу має підтвердити, що трафік Nginx дозволено.
Перевірка встановлення
Після встановлення переконайтеся, що Nginx налаштований правильно, зайшовши на IP-адресу вашого сервера у веб-браузері:
http://your_server_ip
Ви повинні побачити стандартну сторінку привітання Nginx, яка вказує на те, що веб-сервер працює. Якщо ви не впевнені в IP-адресі свого сервера, ви можете знайти його за допомогою:
curl -4 icanhazip.com
Інші корисні статті в нашому Блозі:
- Налаштування мережі в Ubuntu 22.04
- Як встановити Node.js на Ubuntu 22.04
- Встановлення та використання Docker в Ubuntu 22.04
- Що таке LVM і як налаштувати LVM в Ubuntu
Налаштування Nginx для веб-хостингу
Конфігурація Nginx за замовчуванням міститься у файлі /etc/nginx/nginx.conf. Однак для хостингу окремих сайтів або додатків зазвичай потрібно створити нові файли конфігурації в каталозі /etc/nginx/sites-available/ і включити їх за допомогою символічних посилань у каталозі /etc/nginx/sites-enabled/.
Створення серверного блоку
Серверний блок дає змогу визначити конфігурацію для конкретного домену або програми. Створіть новий файл конфігурації для вашого сайту:
sudo nano /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 mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
Увімкнення блоку сервера
Увімкніть конфігурацію, створивши символічне посилання на каталог sites-enabled:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Перевірте конфігурацію Nginx на наявність синтаксичних помилок:
sudo nginx -t
Якщо перевірка пройшла успішно, перезавантажте Nginx, щоб застосувати зміни:
sudo systemctl reload nginx
Увімкнення SSL за допомогою Let's Encrypt
Для безпечних HTTPS-з'єднань ви можете використовувати Let's Encrypt, щоб отримати та налаштувати безкоштовний SSL-сертифікат для вашого домену. Спочатку встановіть інструмент certbot і його плагін для Nginx:
sudo apt install certbot python3-certbot-nginx -y
Виконайте наступну команду, щоб отримати та застосувати SSL-сертифікат:
sudo certbot --nginx -d example.com -d www.example.com
Certbot автоматично налаштує SSL для вашого домену. Перевірте процес оновлення, виконавши таку команду:
sudo certbot renew --dry-run
Усунення загальних проблем
Служба Nginx не запускається: Перевірте журнал помилок за адресою /var/log/nginx/error.log на наявність специфічних повідомлень і усуньте будь-які синтаксичні помилки або конфлікти конфігурації.
Брандмауер блокує трафік: Перевірте правила UFW, щоб переконатися, що трафік HTTP і HTTPS дозволено. Використовуйте:
sudo ufw status
Конфлікти портів: Якщо інша служба використовує порт 80 або 443, зупиніть або переналаштуйте конфліктуючу службу:
sudo lsof -i :80
sudo kill <process_id>
Висновок
У цьому посібнику ми розглянули покроковий процес установлення, налаштування та тестування Nginx на Ubuntu 22.04. Від початкового налаштування до ввімкнення SSL і усунення неполадок - стаття охоплює всі основні аспекти розгортання Nginx у виробничому середовищі. Дотримуйтесь цих інструкцій, щоб створити надійний і масштабований веб-сервер для підтримки ваших додатків і веб-сайтів. Nginx є наріжним каменем сучасного веб-хостингу завдяки простоті встановлення та широкому набору функцій. Незалежно від того, розгортаєте ви простий статичний сайт або керуєте складною інфраструктурою, освоєння налаштування Nginx - цінна навичка як для адміністраторів, так і для розробників.