Nginx Ubuntu – це веб-сервер з відкритим вихідним кодом, який володіє потужними функціями балансування навантаження, зворотного проксі і кешування. Спочатку він був розроблений для усунення збоїв масштабування і паралелізму на існуючих серверах. Асинхронна архітектура на основі подій зробила його самим популярним і ефективним.
Дві версії установки
Зазвичай вибирають дві версії Nginx Ubuntu з відкритим вихідним кодом – основну і стабільну. Основна версія представляє невелику частину повного пакету. Статус «Розробка і пробна версія» не означає, що основна вразлива, навпаки, вона досить стабільна. Її переваги: завжди можна попередньо випробувати оптимальні функції та новітні можливості. Недолік – ймовірність отримання помилок більше в порівнянні із стабільною.
У останньої (повна версія Nginx Ubuntu) її функції і безпека були проаналізовані за допомогою серії тестів і мають дуже високі показники. В результаті користувач отримує стабільний і надійний веб-сервер, який підходить для застосування в якості сервера електронної комерції.
Тип інсталяції Nginx
Новачкам потрібно правильно застосувати параметри інсталяції, щоб розгорнути сервер.
Існує кілька варіантів установки Nginx Ubuntu:
Установка з готового пакету (Debian/Ubuntu) як з ядром, так і з модулем за умовчанням виконується дуже легко разом з процесом оновлення автоматично. Процес здійснюється за програмою, що складається із стабільної версії і декількох опцій модуля.
Установка Nginx Ubuntu з пакету репозиторію також проста, як і з операційної системи за замовчуванням. Можна вибрати: використовувати стабільну версію або основну. Крім того, можна більш гнучко підібрати динамічний модуль, який планується застосовувати. Останній відрізняється від статичного модуля, але деякі з них можна перетворити на динамічні. Для Nginx процес оновлення ядра досить складний, тому повинен виконуватися вручну.
Попередньо зібраний пакет
Якщо потрібна велика гнучкість, то установка Nginx з вихідних кодів – це правильний вибір. Всі модулі використовують у міру необхідності, можна змінити основний код. Виконання Nginx Ubuntu install з готового пакету:
Для того щоб встановити цю схему за замовчуванням, перевіряють Ubuntu або Debian Web, щоб побачити, які вбудовані модулі в Full. Далі інсталюють ЗА попередньо зібраного пакету Repository.
Після цього додають наступний ключ підпису, щоб гарантувати, що репозиторій і пакети перераховані в зв’язці ключів менеджера (apt).
Алгоритм установки:
Стабільна версія Nginx Ubuntu server буде встановлена в систему.
Де:
- {ОС Linux} – Ubuntu або Debian;
- {codename} – назва використовуваної ОС.
Кодове ім’я можна побачити в наступній таблиці.
Код установки.
Налаштування NGINX Ubuntu 18.04
В даний час кращий спосіб встановити модель 18.04, це використовувати версію, включену в репозиторії Ubuntu.
Конфігураційні файли NGINX зберігаються в /etc/nginx/conf.d/. Як правило, потрібно самостійний файл в цьому каталозі для кожного домену або субдомену.
Алгоритм установки NGINX в Ubuntu:
Тестування NGINX:
Додавання нового сайту на сервер
ЗА стека LEMP демонструє групу, яку можна використовувати для обробки динамічних сторінок і додатків. Внутрішні дані зберігаються в MySQL, а динамічні процеси обробляються PHP Ubuntu Nginx.
Вимоги:
Передумова:
Створення веб-каталогу
Веб-каталоги – це списки або папки на сервері, де зберігаються або розміщуються всі файли. Вхід в нього виконують за допомогою Terminal, Putty і Bitvise.
Далі необхідний каталог. Нижче ця команда створює дві директорії для двох сайтів, наприклад, якщо потрібно додати лише один сайт, просто вказують один раз, замість domain1.tld і domain2.tld прописують потрібний домен. Далі встановлюють власника каталогу на www-data і рекурсивно змінюють права доступу до каталогу. Розміщують наступний після цього створюють тестовий файл index.html, зберігають і виходять з редактора, натиснувши Ctrl+O, потім Cotrol+X.
Створення блочного сервісу
Файл блоку сервера Nginx зберігається всередині, потім поміщають цю конфігурацію туди і замінюють «xxxx» своїм власним IPv4 або IPv6-адреси. Зберігають і виходять з редактора, натиснувши Ctrl+O потім Control+X. Після цього виконують аналогічні дії для іншого сайту.
Далі можна активувати кожен блок сервера. В цілях безпеки редагують nginx.conf і активують опцію: «Розмір хеш-пам’яті імен», видаляють символ коментаря (#). Натискають Control+O для збереження і Control+X для виходу з редактора. Тепер тестують конфігурацію і підтверджують Ok.
Нарешті, виконують reload або restart, щоб сервіс перезавантажився. Потім налаштовують дані DNS домену або редагують файл локального хоста на комп’ютері, щоб протестувати пакет. Запускають веб-браузер і пробують отримати доступ до VPS через доменне ім’я.
Розміщення HTTP-Сервера
HTTP-сервер Nginx (Engine-X) – найбільш популярних з аналогів, що використовуються в Інтернеті. Він легкий, стабільний, готовий до роботи, який може використовуватися будь-якою людиною для створення потужних і динамічних веб-сайтів. Він також може служити проксі-сервером, що робить його відмінним вибором для безпеки завантажених і популярних веб-сайтів.
Установка HTTP-сервера Nginx:
Використання зворотного проксі
Зворотний проксі – це сервер, який знаходиться між внутрішніми і зовнішніми додатками клієнтами, перенаправляючи клієнтські запити. Хоча багато поширені програми, такі як Node.js можуть працювати як сервери самостійно, NGINX є ряд розширених функцій балансування навантаження, безпеки та прискорення цих функцій немає в більшості спеціалізованих програмах. Використання NGINX в якості зворотного проксі-сервера дозволяє додавати ці функції в будь-який додаток.
Для цього використовується простий Node.js щоб продемонструвати, як налаштувати NGINX в якості зворотного проксі-сервера.
Установка проксі:
Приклад програми
Використовують curl для завантаження сценарію установки, наданого NodeSource. Замінюють версію Node в curl-команді тієї, яку треба розмістити.
Запускають скрипт:
Налаштування Node.js
На цьому етапі можна налаштувати Node.js так, щоб він служив прикладом програми на загальнодоступному IP-адресі Linode, що дозволило б виставити його в Інтернеті. Замість цього розділу виконує установку php Ubuntu Nginx для пересилання всіх запитів з загальнодоступного IP на сервер з прослуховуванням localhost.
Базова конфігурація для NGINX із зворотним проксі: створюють файл, заміняють у цьому прикладі example.com, домен або публічний IP-адресу.
Директива proxy_pass – це конфігурація зворотного проксі. Вона вказує, що всі запити, які відповідають блоку місця розташування, в даному випадку кореневого шляху, повинні бути перенаправлені на порт 3000 на localhost з запущеним Node.js.
Процедура установки:
Додаткові параметри: постійне посилання
Для простого додатка proxy_pass досить директиви. Однак для більш складних можуть знадобитися додаткові параметри. Наприклад, Node.js часто використовується для тих випадків, які вимагають багато взаємодій в реальному часі. Щоб пристосуватися, відключають функцію буферизації Nginx Ubuntu ssl. Можна додати або змінити заголовки, які пересилаються разом з проксі-запитами proxy_set_header. Ця конфігурація використовує вбудовану $remote_addr-змінну для відправки IP-адреси вихідного клієнта на проксі-хост.
Одним з переваг зворотного проксі-сервера є простота налаштування HTTPS з сертифікатом TLS. Certbot – це інструмент, що дозволяє швидко отримати безкоштовні сертифікати від let’s Encrypt. Можна використовуватися Certbot в Ubuntu 16.04, офіційний сайт містить докладні інструкції по установці і застосування основних дистрибутивів. Після отримання сертифікатів через Certbot, він автоматично оновить файли для використання нового сертифіката.
Certbot запросить інформацію про сайт. Відповіді будуть збережені як частина сертифіката.
Certbot також запитає, чи потрібно автоматично перенаправити HTTP-трафік на HTTPS. Рекомендується вибрати цю опцію. Після завершення роботи інструменту Certbot збереже згенеровані ключі і видані сертифікати в /etc/letsencrypt/live/$domain каталозі, де $domain ім’я домену, введене на етапі створення сертифіката Certbot.
Certbot рекомендує вказувати конфігурацію веб-сервера в каталозі сертифікатів за замовчуванням або створювати символічні посилання. Ключі та сертифікати не слід переміщати в інший каталог. Нарешті, Certbot оновить сервер, щоб він використовував новий сертифікат, а також перенаправляє HTTP-трафік на HTTPS, якщо вибрана ця опція.
Якщо на Linode брандмауер, можна додати його правило, щоб дозволити вхідні і вихідні підключення до служби HTTPS. В Ubuntu UFW – це широко використовуваний і простий інструмент для управління правил брандмауера.
Однією з вимог для реалізації програми або веб-сайту є наявність веб – або HTTP-сервера на стороні сервера, який виконує обробку. Останній встановлює двонаправлені або односпрямовані з’єднання з клієнтом і генерує відповідь на зроблені запити. Тому – це невід’ємна частина веб-інфраструктури.
Статистично Nginx – це зростаючий веб-сервер, який привертає все більше і більше веб-майстрів по всьому світу. Порівняно з Apache та іншими веб-серверами, Nginx значно перевершує по швидкості обробки одночасних сеансів, часу відгуку і використання ресурсів. Це пов’язано з архітектурою і розумною обробкою сполук. Ще однією перевагою, пропонованим Nginx, є асинхронна архітектура, яка покращує обслуговування одночасних з’єднань.