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

Дві версії установки

Зазвичай вибирають дві версії Nginx Ubuntu з відкритим вихідним кодом — основну і стабільну. Основна версія представляє невелику частину повного пакету. Статус «Розробка і пробна версія» не означає, що основна вразлива, навпаки, вона досить стабільна. Її переваги: завжди можна попередньо випробувати оптимальні функції та новітні можливості. Недолік — ймовірність отримання помилок більше в порівнянні із стабільною.

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

Тип інсталяції Nginx

Новачкам потрібно правильно застосувати параметри інсталяції, щоб розгорнути сервер.

Існує кілька варіантів установки Nginx Ubuntu:

  • З готового пакету Debian/Ubuntu.
  • З готового пакету репозиторію Nginx.
  • З вихідного коду.
  • Установка з готового пакету (Debian/Ubuntu) як з ядром, так і з модулем за умовчанням виконується дуже легко разом з процесом оновлення автоматично. Процес здійснюється за програмою, що складається із стабільної версії і декількох опцій модуля.

    Установка Nginx Ubuntu з пакету репозиторію також проста, як і з операційної системи за замовчуванням. Можна вибрати: використовувати стабільну версію або основну. Крім того, можна більш гнучко підібрати динамічний модуль, який планується застосовувати. Останній відрізняється від статичного модуля, але деякі з них можна перетворити на динамічні. Для Nginx процес оновлення ядра досить складний, тому повинен виконуватися вручну.

    Попередньо зібраний пакет

    Якщо потрібна велика гнучкість, то установка Nginx з вихідних кодів – це правильний вибір. Всі модулі використовують у міру необхідності, можна змінити основний код. Виконання Nginx Ubuntu install з готового пакету:

    Для того щоб встановити цю схему за замовчуванням, перевіряють Ubuntu або Debian Web, щоб побачити, які вбудовані модулі в Full. Далі інсталюють ЗА попередньо зібраного пакету Repository.

    Після цього додають наступний ключ підпису, щоб гарантувати, що репозиторій і пакети перераховані в зв’язці ключів менеджера (apt).

    Алгоритм установки:

  • Далі додають репозиторій Nginx за замовчуванням з пакету Ubuntu або Debian.
  • Для цього визначають репозиторій у файлі пакету sources.list.
  • Спочатку відкривають файл sources.list в консолі nano в якості редактора файлів.
  • Після відкриття файлу додають репозиторій в нижню рядок з загальним шаблоном.
  • Зберігають зміни, натиснувши Ctrl + x → Y → Enter.
  • Після цього можна інсталювати Nginx звичайним способом.
  • Стабільна версія Nginx Ubuntu server буде встановлена в систему.

    Де:

    • {ОС Linux} — Ubuntu або Debian;
    • {codename} — назва використовуваної ОС.

    Кодове ім’я можна побачити в наступній таблиці.

    Код установки.

    Дивіться також:  Мінімальні і рекомендовані системні вимоги Kingdoms of Amalur: Reckoning.

    Налаштування NGINX Ubuntu 18.04

    В даний час кращий спосіб встановити модель 18.04, це використовувати версію, включену в репозиторії Ubuntu.

    Конфігураційні файли NGINX зберігаються в /etc/nginx/conf.d/. Як правило, потрібно самостійний файл в цьому каталозі для кожного домену або субдомену.

    Алгоритм установки NGINX в Ubuntu:

  • Копіюють файл за умовчанням.
  • Замінюють example.com доменним ім’ям сайту або публічним IP.
  • Відключають файл за умовчанням, додавши .disabled до його імені.
  • Відкривають файл в редакторі.
  • Замінюють у директиві доменне ім’я або IP сайту.
  • Для готового контенту, наприклад, установки WordPress або статичних файлів, замінюють шлях в root-директиві на шлях до контенту сайту.
  • Тестування NGINX:

  • Перевіряють конфігурацію на помилки.
  • Перезавантажують версію.
  • Переходять до IP Linode в браузері, після чого з’явиться сторінка NGINX.
  • Додавання нового сайту на сервер

    ЗА стека LEMP демонструє групу, яку можна використовувати для обробки динамічних сторінок і додатків. Внутрішні дані зберігаються в MySQL, а динамічні процеси обробляються PHP Ubuntu Nginx.

    Вимоги:

  • Клієнти SSH, наприклад, Bitvise або Putty, з інструкціями про те, як їх використовувати.
  • Базові знання загальних команд Unix для SSH до сервера.
  • Сервер або VPS з мінімальною оперативною пам’яттю 256 МБ (OpenVZ). Рекомендується використовувати 512 МБ, якщо використовується KVM або Xen.
  • Ubuntu 16.04 між 32 або 64 бітами.
  • Передумова:

  • Надає сервер Ubuntu.
  • Встановлює повний LAMP (Ubuntu Nginx Apache, MySQL, Perl / PHP / Python) на сервер Ubuntu.
  • Створення веб-каталогу

    Веб-каталоги — це списки або папки на сервері, де зберігаються або розміщуються всі файли. Вхід в нього виконують за допомогою 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) — найбільш популярних з аналогів, що використовуються в Інтернеті. Він легкий, стабільний, готовий до роботи, який може використовуватися будь-якою людиною для створення потужних і динамічних веб-сайтів. Він також може служити проксі-сервером, що робить його відмінним вибором для безпеки завантажених і популярних веб-сайтів.

    Дивіться також:  Комутатор D-Link DGS-1008D. Характеристики, порядок установки та відгуки

    Установка HTTP-сервера Nginx:

  • Встановлюють сервер. Пакети можна отримати у програмному сховище Ubuntu, все, що потрібно зробити, це запустити команду apt.
  • Після того як сервер буде встановлений, налаштовують брандмауер для вирішення трафіку HTTP. За замовчуванням брандмауер Ubuntu не включений. В деяких випадках він включається автоматично з міркувань безпеки.
  • Якщо включений брандмауер, наведені однорядкові команди повинні дозволяти HTTP-трафік, як на порт 80, так і на порт 443. Якщо перевірити стан брандмауера, можна побачити, що HTTP Full дозволений звідки завгодно, включаючи трафік v6.
  • Відкривають доступ до сторінки веб-сайту Nginx за замовчуванням або переходять по IP сервера або хоста.
  • При установці HTTP-сервера Nginx будуть створені додаткові папки. Вони містять файли конфігурації, налаштування і інші вищевказані каталоги, є найбільш використовуваними на сервері.
  • Використання зворотного проксі

    Зворотний проксі — це сервер, який знаходиться між внутрішніми і зовнішніми додатками клієнтами, перенаправляючи клієнтські запити. Хоча багато поширені програми, такі як Node.js можуть працювати як сервери самостійно, NGINX є ряд розширених функцій балансування навантаження, безпеки та прискорення цих функцій немає в більшості спеціалізованих програмах. Використання NGINX в якості зворотного проксі-сервера дозволяє додавати ці функції в будь-який додаток.

    Для цього використовується простий Node.js щоб продемонструвати, як налаштувати NGINX в якості зворотного проксі-сервера.

    Установка проксі:

  • Ці кроки встановлюють Mainline в Ubuntu з офіційного репозиторію NGINX Inc. Для інших дистрибутивів потрібно ознайомитися з керівництвом адміністратора, щоб отримати інформацію про налаштування для виробничих середовищ.
  • Відкривають /etc/apt/sources.list текстовий редактор і додають наступну рядок внизу.
  • Замінюють codename у цьому прикладі на кодове ім’я встановленої версії.Наприклад, для Ubuntu Nginx php-fpm з ім’ям Bionic Beaver прописують bionic.
  • Імпортують ключ підпису пакету репозиторію і додають його в apt.
  • Переконуються, що сервер запущено і буде включений автоматично при перезавантаженні.
  • Приклад програми

    Використовують curl для завантаження сценарію установки, наданого NodeSource. Замінюють версію Node в curl-команді тієї, яку треба розмістити.

    Запускають скрипт:

  • Сценарій apt-get update запуститься автоматично, тож можна відразу встановити Node.js.
  • Диспетчер пакетів вузлів (NPM) буде розпакований разом з Node.js.
  • Створюють каталог програми.
  • Ініціалізують додаток Node.js в каталозі.
  • Приймають всі значення за замовчуванням при появі запиту.
  • Встановлюють Express.js: npm install —save express.
  • Використовують текстовий редактор для створення та додавання наступного вмісту: app.js.
  • Запускають програму.
  • В окремому вікні терміналу використовують curl, щоб переконатися, що працює.
  • Налаштування Node.js

    На цьому етапі можна налаштувати Node.js так, щоб він служив прикладом програми на загальнодоступному IP-адресі Linode, що дозволило б виставити його в Інтернеті. Замість цього розділу виконує установку php Ubuntu Nginx для пересилання всіх запитів з загальнодоступного IP на сервер з прослуховуванням localhost.

    Базова конфігурація для NGINX із зворотним проксі: створюють файл, заміняють у цьому прикладі example.com, домен або публічний IP-адресу.

    Дивіться також:  Кращі бюджетні процесори: огляд, характеристики, поради з вибору

    Директива proxy_pass — це конфігурація зворотного проксі. Вона вказує, що всі запити, які відповідають блоку місця розташування, в даному випадку кореневого шляху, повинні бути перенаправлені на порт 3000 на localhost з запущеним Node.js.

    Процедура установки:

  • Відключають або видаляють сторінку за замовчуванням Welcome to NGINX:sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disabled.
  • Перевіряють конфігурацію: sudo nginx -t.
  • Якщо про помилки не повідомляється, перезавантажують нову:sudo nginx -s reload.
  • У браузері переходять до спільного IP-адресою Linode, з’явиться повідомлення Hello World!
  • Додаткові параметри: постійне посилання

    Для простого додатка 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, є асинхронна архітектура, яка покращує обслуговування одночасних з’єднань.