У минулій статті ми розглянули кілька найпопулярніших операційних систем, які зазвичай вибирають для установки на VPS-сервери. А сьогодні ми хочемо познайомитис...
Блог компанії 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 - цінна навичка як для адміністраторів, так і для розробників.
Детально про те, як працюють IP-адреси, що таке IPv4 і IPv6, публічні та приватні IP, DNS, маршрутизація, безпека та використання в серверній інфраструктурі.
Прискорення WordPress на рівні Nginx: правильні налаштування PHP-FPM, try_files, статика, кешування, Brotli, захист wp-login і безпечні заголовки для стабільної...
Ефективні стратегії резервного копіювання Docker-додатків: як захищати томи, дані та конфігурації, уникаючи при цьому типових помилок, а також швидко відновлюва...