Однією з найбільших проблем для будь-якого інтернет-ресурсу вже давно є так звані атаки типу «розподілена відмова в обслуговуванні», або по простому - DDoS-атак...
Блог компанії 3v-Hosting
6 хв.
Nginx (вимовляється як «engine-x») - це потужний і високопродуктивний веб-сервер. Він використовується для обслуговування статичного і динамічного веб-контенту, виступає як зворотний проксі та керує балансуванням навантаження. Легка архітектура і багатий набір функцій роблять його популярним вибором для розробників, системних адміністраторів і хостинг-провайдерів. У цій статті ви знайдете докладний посібник зі встановлення Nginx на Ubuntu 22.04, включно з основними конфігураціями, порадами щодо усунення несправностей і практичними прикладами використання.
Перш ніж приступити до процесу встановлення, зрозумійте роль Nginx у сучасному веб-хостингу. Nginx - це універсальне програмне забезпечення, здатне ефективно обробляти одночасні з'єднання, що робить його ідеальним для сайтів із високою відвідуваністю. Він може функціонувати як:
- Веб-сервер для розміщення веб-сайтів і обслуговування статичних файлів.
- Зворотний проксі-сервер для маршрутизації клієнтських запитів до внутрішніх серверів.
- Балансувальник навантаження для розподілу трафіку між кількома серверами.
- Кешуючий сервер для підвищення продуктивності сайту.
Модульна архітектура Nginx дає змогу адміністраторам безперешкодно вмикати такі функції, як HTTP/2, шифрування SSL/TLS і стиснення контенту. Це робить його наріжним каменем веб-інфраструктури.
Перед встановленням будь-якого програмного забезпечення переконайтеся, що індекс пакетів вашої системи оновлено. Використовуйте наступні команди для оновлення та модернізації системи:
sudo apt update
sudo apt upgrade -y
Оновлення індексу пакетів гарантує, що ви отримаєте останню версію Nginx, доступну в репозиторії Ubuntu.
Переконайтеся, що curl, wget та інші базові інструменти доступні у вашій системі для перевірки конфігурації та тестування Nginx після встановлення:
sudo apt install curl wget -y
Ubuntu 22.04 включає Nginx у репозиторії пакетів за замовчуванням. Щоб встановити Nginx, скористайтеся менеджером пакетів apt:
sudo apt install nginx -y
Після завершення встановлення служба Nginx запуститься автоматично. Ви можете перевірити її статус, використовуючи:
sudo systemctl status nginx
Результат повинен показати, що служба запущена.
Якщо ви використовуєте стандартний 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
Конфігурація 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
Для безпечних 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 - цінна навичка як для адміністраторів, так і для розробників.
Перемикання користувачів в Ubuntu: su, sudo, sudo -i, sudo -u і SSH. Практичний посібник з безпечної роботи з правами, середовищем і сесіями на серверах і дескт...
Управління портами на VPS і виділених серверах: як перевірити відкриті порти, правильно налаштувати фаєрвол, уникнути типових помилок і підвищити безпеку інфрас...
Оптимізація Windows Server 2022 на VPS з 2-4 ГБ RAM: як система витрачає пам'ять, що можна безпечно налаштувати, pagefile, служби, GUI і коли апгрейд RAM розумн...